php添加千位分隔符,不调整小数点
我正在寻找一种方法来使用php number_format函数或类似的东西,它将添加千位分隔符,但将数字的任何小数部分保留为intattct,而不包含和格式化。例如: 39845.25843=>39845.25843 347346.8=>347346.8 1000000=>1000000php添加千位分隔符,不调整小数点,php,number-formatting,Php,Number Formatting,我正在寻找一种方法来使用php number_format函数或类似的东西,它将添加千位分隔符,但将数字的任何小数部分保留为intattct,而不包含和格式化。例如: 39845.25843=>39845.25843 347346.8=>347346.8 1000000=>1000000 谢谢我对变量名没有什么想象力,但这可以: function conv($str) { $t = explode(".", $str); $ret = number_format(reset($t
谢谢我对变量名没有什么想象力,但这可以:
function conv($str) {
$t = explode(".", $str);
$ret = number_format(reset($t), 0);
if (($h = next($t)) !== FALSE)
$ret .= "." . $h;
return $ret;
}
编辑:如果您想处理整数,如果不添加无小数的大小写,上述操作将无法工作
$val = number_format( $val, (strstr($val, '.')) ? strlen(end(explode('.', $val))) : 0 );
同上,但我的扭曲:
function mod_numberformat($num){
// find & cache decimal part
$pos = strpos($num, '.');
$decimal = $pos !== false ? substr($num, $pos) : '';
// format number & avoid rounding
$number = number_format($num, 9);
// strip new decimal part & concatenate cached part
$number = substr($number, 0, strpos($number, '.'));
$number .= $decimal;
return $number;
}
function mod_numberformat($num){
// find & cache decimal part
$pos = strpos($num, '.');
$decimal = $pos !== false ? substr($num, $pos) : '';
// format number & avoid rounding
$number = number_format($num, 9);
// strip new decimal part & concatenate cached part
$number = substr($number, 0, strpos($number, '.'));
$number .= $decimal;
return $number;
}