电话号码格式在国家/地区代码后加点

问题描述 投票:0回答:1

我的域名注册商要求提供以下格式的电话号码:

+358.401234567
(其中
358
是国家/地区代码,
40
是区号,其余是本地电话号码)。

对我个人来说,这种格式很陌生,除了 WHOIS 域名信息之外,我找不到它在任何地方使用。我试图找到任何对此特定格式规范的引用,但没有成功。也许ICANN要求这种格式,但我找不到任何证据。这个电话号码符号标准化了吗?

最令人担忧的是,从注册商的 REST API 获取此信息时,该值将以浮点形式返回,如下所示:

{ "phone": 358.401234567 }
。将值存储为浮点数而不是字符串时,这会导致舍入错误吗?

floating-point phone-number rounding-error
1个回答
0
投票

您应该使用字符串,而不是电话号码的数值。

如果在任何情况下,您需要一个数值,假设机器内部使用binary64格式(双精度),则可以将15位十进制数转换为binary64,并且您将检索原始值,如果您将二进制 64 数转换回 15 位十进制数。这是因为 1+15×log(10)/log(2) ⩽ 53(其中 53 是二进制 64 的精度)。如果电话号码的位数可变,请小心尾随零。

© www.soinside.com 2019 - 2024. All rights reserved.