使用String
。除了其他以外,如果使用整数,则将无法存储前导零。你绝对不应该使用int
(太小)float
或double
(数据丢失的风险太大-参见下文);long
或BigInteger
可能是适当的(除了前导零问题),但坦率地说,我会选择String
。这样,你还可以存储用户输入的任何破折号或空格,以便更轻松地记住数字。
就上述“数据丢失”而言float,double- float
绝对没有足够的精度;double
可如果你的工作很快乐,你永远不会需要超过16位(比你得到一对夫妇较少long
),但你必须非常,非常小心,任何地方,你将从值回double
给string
,你得到了确切的值。许多格式转换将为你提供近似值,该精度可能精确到例如10个有效数字-但你需要一个精确的整数。基本上,将浮点数用作电话号码从根本上来说是个坏主意。如果必须使用固定宽度的数字类型,请使用long
,但是最好完全避免使用。