如何在电话号码中使用超过20位数字

时间:2014-09-15 13:58:33

标签: java

我使用BigDecimal作为电话号码但不超过20位。我该怎么用?

if(loginDTO.getPhoneNumber()!=null && loginDTO.getPhoneNumber().length()>0){
    userBO.setPhoneNo(new BigDecimal(loginDTO.getPhoneNumber()));
}

我想在这里取代BigDecimal代替超过20个数字的东西。

3 个答案:

答案 0 :(得分:6)

您根本不想使用任何数字格式的电话号码。例如 - 我住在汉堡/德国,所以我的本地号码是040-9999999,而040是我的区号。

但是,唉,没有十进制格式的前导零。

或国际格式:+49-40-9999999或具有附加信息:+49-40-999999-99

或者只是想将数字格式化为组以便轻松拨号(您可能只想对显示部分执行此操作,因此该点仅半有效):

+49 40-999 999 ext 99

因为你从来没有用这些数字计算任何东西,所以省去麻烦。拿个字符串。

答案 1 :(得分:2)

由于区号和国家/地区代码格式化,将电话号码存储为数字数据类型可能不是一个好主意。另外,将它们存储为数字不会给你带来任何东西(你多长时间对一个电话号码进行数学运算)?

尝试将您的电话号码存储为字符串。

答案 2 :(得分:0)

您需要在String变量中为电话号码建模。

将电话号码解释为号码可能会导致问题,例如,以0开头的电话号码或管理国家/地区代码(+01)。另外,你将摆脱长度问题。