PHP中是否有更简洁的方法分离字符串末尾两位并转为小数?
更简洁的字符串转小数实现方法
针对你将11位含两位小数位的字符串转为指定格式小数的需求,这里提供几种更简洁的实现方式:
数学运算+格式化:直接将字符串转为整数后除以100,再用格式化函数保留两位小数:
$str = '00000700000'; // 无千分位分隔符的格式化输出 echo number_format((int)$str / 100, 2, '.', ''); // 输出 7000.00 // 或用sprintf实现相同效果 echo sprintf('%.2f', (int)$str / 100); // 输出 7000.00字符串分割拼接:通过
substr直接截取整数部分与小数部分,拼接后格式化:$str = '00000700000'; $decimalStr = substr($str, 0, -2) . '.' . substr($str, -2); echo number_format((float)$decimalStr, 2, '.', ''); // 输出 7000.00
这些方法避免了多层嵌套的字符串处理函数调用,逻辑更直观简洁。
内容的提问来源于stack exchange,提问作者Madame Green Pea
相关产品推荐
相关产品推荐

