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

2022-08-31 17:24:04

我在某个应用程序中表示手机号码时遇到问题。

我想知道是否有一个Integer类可以让你存储这样一个以0417254482开头的数字。也许使用字符串更合适?目前,当我尝试使用ints表示电话号码时,我似乎存储了随机数,而不是我想要存储的数字。


答案 1

用。除此之外,如果使用整数,您将无法存储前导零。您绝对不应该使用(太小)或(数据丢失的风险太大 - 见下文); 或者可能是合适的(除了前导零问题),但坦率地说,我会选择.这样,您还可以存储用户输入的任何短划线或空格,以便在需要时更轻松地记住数字。StringintfloatdoublelongBigIntegerString

就上面提到的“数据丢失”而言,对于和 - 绝对没有足够的精度; 如果你很高兴你永远不会需要超过16位数字(比你得到的少几个),你可以工作,但你需要非常非常小心,无论你在哪里转换值,你得到了确切的值。许多格式转换会给你一个近似值,这个近似值可能精确到10位有效数字 - 但你需要一个精确的整数。基本上,对电话号码使用浮点数基本上是一个坏主意。如果必须使用固定宽度的数值类型,请使用 ,但理想情况下,请完全避免使用。floatdoublefloatdoublelongdoublestringlong


答案 2

想想看:电话号码真的是一个数字吗?用电话号码添加(或进行另一个算术运算)是否有意义?电话号码是代码,它们通常用数字表示,但这只是一个惯例,也许在另一个国家也使用字母(我刚刚意识到,国际电话号码呢?它们在开始时有一个。你必须考虑你想要表达的事物的本质,然后,找到最合适的表现形式。+