Отправляет email-рассылки с помощью сервиса Sendsay

[prg] Остаток от деления на яве.

Здравствуйте, программисты!

Вопрос такого характера.
Имеем переменную, нужно разделить её до и после запятой.
rescount=28.2;
Получаем целую часть.
num=Math.round(rescount);
А как получить остаток?
drob=Math.???(rescount);

И еще, что будет возвращено после запятой, если у rescount не будет дробной части?
0?
Или всётаки проверять потребуется типа:
if (rescount!=Math.round(rescount)) {}
Но мне кажется, что что разработчики явы предусмотрели функцию.

Ответить   Sun, 9 Dec 2012 15:58:06 +0400 (#2625818)

 

Ответы:

Приветствую всех.

Вычесть из числа его целую часть. Не устраивает?

части?

Здесь надо уточнить вопрос: не путаете ли вы само число с его отображением на
экране?
Что значит "возвращено после запятой"?

Хотя для числа с нулевой дробной частью выражение x == Math.round(x) является
истиной, но всё же не рекомендуется использовать точное равенство для сравнения
вещественных чисел (типы double и float).

Успехов. Анатолий.

Ответить   "i_chay" Mon, 10 Dec 2012 07:35:38 +0300 (#2626049)

 

Добрый день, i_chay!
Вы писали понедельник, 10 декабря 2012 г.:

Всё! Пора на пенсию :-). Благодарю!

Ага, а вот это уже интересно, теперь понятно почему оно не правильно выдавало.
Например число:
43.8
отображалось как:
43.8------4
А как же тогда проверить чего такое мы имеем, double or float?

Я делаю по ламерски:
$('.h20').html((Math.round(x*100)/100));
А чёрт его знает зачем здесь у JQuery двойные скобки. Если сделать одинарные,
то он вообще ничего не выводит.

---SMSЕсли человек обманул вас один раз, значит он подлец. Если человек обманул вас
два раза, значит вы дурак.

Ответить   Mon, 10 Dec 2012 18:02:42 +0400 (#2626599)

 

Добрый вечер, i_chay!
Вы писали понедельник, 10 декабря 2012 г.:

Всё таки никак с этой чёртовой явой справиться не могу.
Точнее с jQuery.
Вот смотрите:
<span class="h20"></span>
<script type="text/javascript">
var x=62;
$('.h20).html('Number='+(x*0.2);
</script>
Получаем результат:
Number=12.400000000000006
Откуда он берёт эту не точность?
Ну и что с этим делать? :-)

Ответить   Thu, 13 Dec 2012 19:35:04 +0400 (#2629755)

 

Здравствуйте, Arsenal.

Вы писали четверг, 13 декабря 2012, 17:35:04:

У языков Java и JavaScript ничего общего, кроме первых четырех букв в
названии, нет!!! Поэтому, после чтения темы письма, я даже не читал его
текст (не мой профиль)!

если вы сюда скопировали исходный код, а не писали заново, то:
$('.h20) - забыли закрыть скобку

если вам нужно округлять до конкретного знака после запятой:
Math.round(x*100)/100; // округляет до сотых
если - отделить целую и дробную часть, то делите по точке, работая как
со строкой.
п.с. у меня не получилось добиться такого результата (выводится 12.4)

Ответить   Олег Thu, 13 Dec 2012 19:07:39 +0200 (#2629828)