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