一尘不染

Java 代表电话号码的正确方法是什么?

java

我在一个应用程序中无法代表手机号码。

我想知道是否有一个Integer类,它将允许您存储从0417254482开始的数字。也许使用字符串更合适?目前,当我尝试使用整数形式表示电话号码时,我似乎存储的是随机数而不是我打算存储的数字。


阅读 336

收藏
2020-03-15

共1个答案

一尘不染

使用String。除了其他以外,如果使用整数,则将无法存储前导零。你绝对不应该使用int(太小)floatdouble(数据丢失的风险太大-参见下文);longBigInteger可能是适当的(除了前导零问题),但坦率地说,我会选择String。这样,你还可以存储用户输入的任何破折号或空格,以便更轻松地记住数字。

就上述“数据丢失”而言float,double- float绝对没有足够的精度;double 可如果你的工作很快乐,你永远不会需要超过16位(比你得到一对夫妇较少long),但你必须非常,非常小心,任何地方,你将从值回doublestring,你得到了确切的值。许多格式转换将为你提供近似值,该精度可能精确到例如10个有效数字-但你需要一个精确的整数。基本上,将浮点数用作电话号码从根本上来说是个坏主意。如果必须使用固定宽度的数字类型,请使用long,但是最好完全避免使用。

2020-03-15