数字のグループを集計すると、時々私はいくつかの小数点以下の小数で終わるでしょうか?数値が文字列として解析されると、なぜそれが起こりますか?私は、 "山車について!& "%" 程度数値の合計が奇数小数を返しますか?
function parse(){
foreach($_SESSION['import_csv_posts']['result']['csv'] as $key => $post){
$amount = $this->parse_amount($post[$this->param['amount']]);
if($this->param['vat_amount']){
$amount += $this->parse_amount($post[$this->param['vat_amount']]);
}
$this->balance += $amount;
echo "$amount\n";
}
echo "\nbalance = ".$this->balance;
}
function parse_amount($amount){
$amount = strval($amount);
if(strstr($amount, '.') && strstr($amount, ',')){
preg_match('/^\-?\d+([\.,]{1})/', $amount, $match);
$amount = str_replace($match[1], '', $amount);
}
return str_replace(',', '.', $amount);
}
結果
-87329.00
-257700.00
-11400.00
-9120.00
-47485.00
-15504.00
122800.00
1836.00
1254.00
200.00
360.00
31680.00
361.60
1979.20
1144.00
7520.00
6249.49
balance = -399.00000000003
「小数点以下の桁数」とは何ですか? – deceze
大丈夫、私の無知を許してください。しかし、フロート値を取得するために文字列を解析している場所がわかりません。 – Adi
@adnan '+ ='を使うと自動的に起こります。 – deceze