在
Windows 32位平台上,我必须阅读一些数字,这是意料之外的,可以有99,999,999的值,但不多.试图sprintf(“?1d”,$myNum)他们输出溢出:-2147483648.
我无法使用BigInt模块,因为在这种情况下我应该深入更改代码.我无法将格式管理为字符串,sprintf(“?1s”,$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