У меня вопрос о str_replace
в PHP. Когда я делаю:Вопрос только о str_replace
$latdir = $latrichting.$Lat;
If (preg_match("/N /", $latdir)) {
$Latcoorl = str_replace(" N ", "+",$latdir);
}
else {
$Latcoorl = str_replace ("S ", "-",$latdir);
}
print_r($latdir);
print_r($Latcoorl);
print_r($latdir);
дает: N52.2702777778
но print_r ($Latcoorl);
дает: N52.270277777800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Да, это добавляет много нулей. Может ли кто-нибудь объяснить это поведение просто для удовольствия?
print_r ($latrichting);
отдавания-х: N
print_r ($Lat);
странно длинное число Это дает в.
Значит, это, вероятно, не команда str_replace, вы думаете?
Каковы значения '$ latrichting' и' $ Lat'? –
Спасибо за быстрый ответ, и вы на что-то там $ Lat заполняется $ Lat = $ latdeg + (($ latmin + ($ latsec/60))/60); математический расчет, поэтому я думаю, что мне нужно искать там, я думаю. – Plumbum7
Это похоже на проблему точности чисел с плавающей запятой. –