我陷入了我的代码的这一部分。所以我试图获得特定值的30%,但我没有得到正确的输出。请看下面的价值。
foreach($salary->getValues() as $key => $value) {
echo 'salary: '.$value['salary'];
echo 'gross salary: '.$value['salary'] * .30;
}
假设我们得到的薪水数组是40,000(我已经在我的代码中得到这个)现在乘以它.30答案必须是12,000。因此
预期产出:
salary: 40,000 gross salary: 12,000
发生了什么
salary: 40,000 gross salary: 12
请帮助
答案 0 :(得分:2)
使用str_replace
foreach ($salary->getValues() as $key => $value) {
echo 'salary: ' . $value['salary'];
echo 'gross salary: ' . str_replace(',', '', $value['salary'] ) * .30 ;
}
}
输出:1200
答案 1 :(得分:1)
“40,000”是一个字符串。当试图乘以时,PHP尝试将其转换为整数,遇到逗号(,
)并返回错误(但奇怪的是,似乎继续使用逗号之前的int继续进程)< / p>
一种方法是在乘法之前删除逗号,然后在乘法后将其返回number format
。
$newSalary = number_format(str_replace("," , "", $value['salary']) * .30);
答案 2 :(得分:0)
用money_format()
方法包装乘法结果。
参考:http://php.net/manual/en/function.money-format.php
尝试money_format('%.3n', $value['salary'] * .30);
答案 3 :(得分:0)
不要使用这种&#34;默认格式&#34;,而是自己格式化任何打印值......
尝试这样的事情:
foreach ($salary->getValues() as $key => $value) {
printf( "salary: %.3f gross salary: %.3f\n", $value['salary'], $value['salary'] * .3 );
}