Преобразование строки в целое число в Java / JSP - PullRequest
0 голосов
/ 26 января 2011

У меня есть переменная cost, определенная в таблице DB2 как String.Я получаю его в объект значения, где он также определяется как String.Мне нужно проверить, является ли значение, поступающее из DB2, только пробелами.Если это только пробелы, мне нужно переместить 0 в это.Мне также нужно удалить ведущие нули из него.Я могу получить cost как 0000123.Но в JSP мне нужно отобразить его как 123.Как ты это делаешь?Я сохраняю данные vo в переменной сеанса и, используя это, я отображаю данные в JSP.

Ответы [ 3 ]

2 голосов
/ 26 января 2011

Я хотел бы рассмотреть вопрос об изменении схемы базы данных, чтобы сохранить значение в числовом поле.Если вы не можете этого сделать, рассмотрите возможность изменения объекта-значения, чтобы сохранить его в виде числового поля и проанализировать строку, полученную из базы данных.

1 голос
/ 26 января 2011

Понимая, что большинство из того, что вы описали, звучит как крайне плохой дизайн, вы можете продолжить путь и использовать скриптлет.В следующем примере Apache Commons Lang используется для выполнения вашей задачи:

<%= org.apache.commons.lang.math.NumberUtils.toInt(org.apache.commons.lang.StringUtils.trimToNull(cost),0) %>
0 голосов
/ 26 января 2011

Если вы не можете изменить свою базу данных. Используйте Integer.parseInt (javadoc) . (Это предполагает, что мы имеем дело с целыми числами, в противном случае используйте эквивалент в Double). Создайте функцию для обработки вашего номера String и используйте его в своем JSP.

<%
function String processNumber(String value){
  if(value == null || value.trim().length() == 0){
     value = "0"//use a zero if all we have is whitespace or if the value is null
  }

  int intValue = 0;//store the integer version (which won't have leading zeros)
  try{
    int intValue = Integer.parseInt(value);//process the number
  }
  catch(Exception e){
    intValue = 0;//use 0 if there's a problem
  }
  return "" + intValue;//return the String version free of leading zeros
}
%>
<p>Number: <%= processNumber(getValue()) //replace getValue with however you get your value %></p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...