在 Windows 32 位平台上,我必须读取一些数字,这是出乎意料的,它们的值可以大到 99,999,999,999,但不能再大了。尝试去sprintf("%011d", $myNum)
它们输出溢出:-2147483648。
我无法使用 BigInt 模块,因为在这种情况下我应该深入更改代码。我无法将格式管理为字符串,sprintf("%011s", $numero)
,因为减号处理不正确。
我该如何处理这个问题?打包/解包有帮助吗?
尝试将其格式化为不带小数部分的浮点数:
$ perl -v
This is perl, v5.6.1 built for sun4-solaris
...
$ perl -e 'printf "%011d\n", 99999999999'
-0000000001
$ perl -e 'printf "%011.0f\n", 99999999999'
99999999999
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)