使用函数floatval()我尝试将带小数的字符串转换为float,但它没有给我想要的结果。这是代码:
$price_calc = str_replace(',','.',$price); $reduction_calc = str_replace(',','',$reduction); $reduction_calc = '1.'.$reduction; $price_calc = floatval($price_calc); $reduction_calc = floatval($reduction_calc); $oldprice = $price_calc * $reduction_calc;
这段代码来自我正在构建的刮板,它取得了价格($ price)和减少的百分比($ reduction)。从那个价格和减少我试图计算旧价格。
在能够进行计算之前,我必须将$ price和$ reduction转换为float。这就是它出错的地方
问题在于,例如当$ reduction为51时,值$ reduction_calc应为1.51。由于某些奇怪的原因,在应用floatval()后,变量$ reduction_calc变为1。
那里有谁知道为什么?提前谢谢!
答案 0 :(得分:0)
试试这个:
$reduction_calc = floatval($reduction_calc);
答案 1 :(得分:0)
您的$reduction
或$price
字符串中可能包含前导/尾随空格
在脚本
$reduction = trim($reduction);
$price = trim($price);