2013-12-10 2 views
2

Я использовал функцию number_format() для управления моими запятыми, но я не получаю результат, который я хочу. Я хочу иметь до 6 знаков после запятой, но я не хочу, чтобы каждое число отображало их. Например, если мой вывод равен 27.54, number_format даст мне 27.540000. Есть ли функция или способ игнорировать эти лишние нули и отображать только значимые десятичные знаки? Спасибо!Динамические десятичные знаки

+0

Совершит Посмотрите на это (возможно, дублируетесь): http://stackoverflow.com/a/5429945/722135 – Babblo

+0

rtrim не работает для меня, так как он стирает нули моих целых чисел ... мой 25000 оборотов 25 ... – inBlackAndWhite

ответ

0

Попробуйте использовать (float) привести значение обратно к поплавку (который удалит задно 0 '):

$val = number_format(11.11, 6); 
echo (float)$val; 
+0

Я не знаю почему, но если я использую number_format, он стирает нули в моих целых числах. $ val = (float) $ val; не позволяет мне ограничивать десятичные знаки, но отлично работает, удаляя несущественные нули !! Спасибо!! – inBlackAndWhite

0

Если я правильно понял, вы хотите иметь до 6 десятичных знаков, но не более, и если его меньше шести знаков после запятой, чтобы игнорировать любые нули. Если это так, просто получить floatval из отформатированных строк:

$number = floatval(number_format($number,6)) 
+0

это прекрасно работает!! но работает только тогда, когда я делясь ... когда я размножаюсь, я получаю 1.48 * 1000 = 1 .... – inBlackAndWhite

2
$r = 27.54; 
echo (float) number_format($r,6); 
Смежные вопросы