Подскажите как слиять метр и сантиметр

dmx

Хранитель порядка
Регистрация
22 Июн 2011
Сообщения
709
Реакции
705
$a - метр
$aa - сантиметр.
$a1= число например, 2.23 дробное

Вот: $a1 = "$a.(.$aa)";

Хрень ?
 
  • Заблокирован
  • #2
PHP:
<?php
$a = "5";
$aa = "17";
$a1 = "$a.$aa";
echo $a1;
?>

Выводит: 5.17
Так или не так?
Не вкурю что нада?

Или надо чтоб из 5.17 разделяло на 5 и на 17?
 
  • Нравится
Реакции: dmx
А разве не 517 выведет ?
 
  • Заблокирован
  • #4
У меня выводит так:

Bezimyanni_3391576_3884056.png
 
  • Нравится
Реакции: dmx
Лучше всё приводить в единую систему счисления, а потом выводить на печать в нужных единицах. Это будет правильнее.
Пример:
PHP:
$m = 5; //В метрах
$sm = 17; //В сантиметрах
$mm = 124; //В миллиметрах
//Приводим к общей системе. К примеру к миллиметрам.
$sum = $m*1000 + $sm*10 + $mm;
//И вот теперь уже вертим полученное как нам угодно
echo "Полученная сумма в миллиметрах: $sum<br/>";
echo "Полученная сумма в сантиметрах: {$sum/10}<br/>";
echo "Полученная сумма в дециметрах: {$sum/100}<br/>";
echo "Полученная сумма в метрах: {$sum/1000}<br/>";

При необходимости форматирования числа используем Для просмотра ссылки Войди или Зарегистрируйся
 
  • Нравится
Реакции: dmx
А это : быдлокод?
Код:
$a = 5;
$aa = 17;
 
$a1 = $a * 100 + $aa; //получаем сумму в сантиметрах!
$a2 = ($a * 100 + $aa) / 100; //получаем сумму в метрах!
echo $a1;
echo '<br />';
echo $a2;

Самый главный ворос : $a1 = $a.$aa; Это вообще правильно ? Я получу нецелое число в переменной $a1 - или это просто какое-то слияние :eek:
 
Нормальный код. Только я бы сделал немного по-другому:
PHP:
$a = 5;
$aa = 17;
 
$a1 = $a * 100 + $aa; //получаем сумму в сантиметрах!
$a2 = $a1 / 100; //получаем сумму в метрах!
echo $a1;
echo '<br />';
echo $a2;

В случае $a2 вы получите дробное число.

Это вообще правильно ? Я получу нецелое число в переменной $a1 - или это просто какое-то слияние :eek:
Не понял вопроса по поводу слияния =) Что вы под ним подразумеваете?
 
  • Нравится
Реакции: dmx
Не понял вопроса по поводу слияния =) Что вы под ним подразумеваете?
Я в пыхе ещё учусь :).
$a1 = $a.$aa; - мы и так получаем 5.17 Что мне и требуется. Просто не думал , что при таком слиянии получится 5.17 , а не 517
И что переменная $a1 получается нормальным числом с которым можно работать ( умножать\делить ).

В этом коде :
$a1 = $a.$aa;
Человек сказал, что здесь не производятся математические вычисления, а идет склеивание переменных. Какая - то конкатенация o_O .
 
Человек сказал, что здесь не производятся математические вычисления, а идет склеивание переменных. Какая - то конкатенация o_O .

Конкатенация - склеивание строк.
В случае:
PHP:
$a = 5;
 
$aa = 17;
 
$a1 = $a.$aa;
 
echo $a1;
Вы получите 517 =)
А в случае:
PHP:
$a1 = "$a.$aa";
echo $a1;
Вы получите 5.17 ;)

Это аналогично тому, что вы бы написали:
PHP:
$a1 = $a.'.'.$aa;
echo $a1;

При описании строки в " - двойных кавычках появляется возможность вставлять переменные php без ограничителей.

Также нужно помнить, что в php есть понятие приведения типов и при математических операциях с полученной строкой - она будет восприниматься как число.
 
  • Нравится
Реакции: dmx
  • Заблокирован
  • #10
Так давайте копать глубже..
Через условия... если в примерах 127 миллиметров, т.е нужно через условия доводить до 100, свыше уже пересчет в сантиметры, т.е. +1 см. 27 мм.

Что нада-то?
Склеивать или рассчитывать?
 
  • Нравится
Реакции: dmx
Назад
Сверху