在PHP中舍入数字而不将其转换为语言环境的表示

JJJ*_*JJJ -5 php rounding

所以,显然PHP round()将结果输出为根据当前语言环境设置格式化的字符串.round( 10000.326, 1 )可能会返回"1.000,3",如果您打算立即显示结果,这很好,但如果您计划进一步使用它,那就没那么好.

php.net讨论暗示没有办法停止round()本地化输出.库中是否真的没有"纯"舍入函数返回int或float/double,以便结果可以用于算术运算,或创建自己的唯一选项?

Mar*_*ker 7

round()不会将结果输出为根据当前语言环境设置格式化的字符串:它返回一个浮点数 ...并且没有本地化.

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
Run Code Online (Sandbox Code Playgroud)

之后对结果做的更有可能是本地化的.

你在哪里得到round()返回本地化字符串的印象?

  • 我假设您没有使用带有类型参数的预准备语句?但是,构建SQL字符串,因此,它将作为字符串输出. (2认同)