2
我從csv文件讀取一些數據。文件中的每一行都有一個浮點值。這些值可以是:更正浮點值
- 0.123:開始一段時間,所以我需要前添加一個零。
- 1,23:有一個分隔符逗號','而不是句號,所以我需要改變它。
- 1.2e3具有指數格式,所以我需要將其轉換爲十進制格式。
我不能使用功能number_format
,因爲我無法設置小數點的數字(浮點數沒有小數部分的固定長度,我們想利用他們,因爲他們不會丟失數據)。
這是我到目前爲止所嘗試的;我建了兩個功能,第一個過濾花車,第二個糾正了他們,當過濾器返回false:
function validateFloat($float){
if(!filter_var($float,FILTER_VALIDATE_FLOAT,array('flags' => FILTER_FLAG_ALLOW_FRACTION))){
return false;
}
}
function correctFloat($float){
if (validateFloat($float)==false){
$number = number_format($float,null,'.');
str_replace($number,'',$line);
}
}
我不知道如何構建correctFloat
功能。有什麼建議麼 ?欣賞它。
冷靜,如果開頭是什麼「」 ? – Somar
floatval填充它。使用更新我剛剛拼錯'$價值'很多... – nerdlyist
這太棒了!謝謝。 – Somar