使用long或float设置手机号码变量时,会显示"错误:整数到大:07859664443"
这是代码
public class StudentNode
{
public long TelNumber;
public void setTelNumber(long aTelNumber)
{
TelNumber = aTelNumber;
}
}
Run Code Online (Sandbox Code Playgroud)
不应该长到能够存储电话号码吗?
电话号码不是数字.他们是字符串.例如,在英国和许多其他欧洲国家,完整电话号码的第一个数字是0.但是像一个简单的数字类型long无法指示前导0是重要的,数字07859 664 443将是价值7859664443.领先零是重要的.另外,看到这样写的数字并不罕见:+44(0)7859 664 443.把它放在你的身上long并尝试吸烟.:-)
此外,格式很重要.07859 664 443比07859664443更容易阅读和拨号.在美国,他们经常将区号放在括号中:(800)123-4567,这对我们穷人来说比8001234567更容易处理.
根据我的经验,处理电话号码的最佳方式是将它们存储为字符串,主要是为了将它们保留为输入方式,除非您想将应用程序限制在非常有限的地理区域中使用的电话号码 - 以及即使这样,事情也会改变.尝试在应用程序中构建格式规则会立即引入维护项目.例如,当(当)美国遇到其当前(xxx)yyy-zzzz格式的限制时,大量应用程序将需要更新.痛苦的.同样,我前几天使用了一个应用程序,假设所有英国数字都是(xxxxx)nnn nnn.这已不再适用,现在大都市区(xxx)nnnn nnnn,而我们更多的乡村类型仍旧旧系统.在过去十年开始的一段时间里,伦敦的数字形式为(xxxx)nnn nnnn.你明白了.
| 归档时间: |
|
| 查看次数: |
178 次 |
| 最近记录: |