Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 23.01.2011, 17:57
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

<script>
var x = 5.4444444444444444449
var y = 5.6785069743950934609
x = x.toFixed(2);
y = y.toFixed(2);
x=x-0;
y=y-0;
document.write("Первое число : " +x+"<br>");
document.write("Второе число : " +y+"<br>");
var result = x+y;
document.write("Сумма : "+result);
</script>

Сумма выходит не совсем такая какая ожидается. Насколько я понимаю происходит округление. Как тут быть? Сумма-то не совпадает. Есть ли альтернативное "верное" решение?

Последний раз редактировалось UpJump, 23.01.2011 в 18:06.
Ответить с цитированием
  #42 (permalink)  
Старый 23.01.2011, 18:12
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от UpJump
x=x-0;y=y-0;
происходит преобразование строки в формат IEEE 754. При сложении тоже могут иметь место потери точности. Округление не происходит

Сообщение от UpJump
Как тут быть?
в данном сферическом случае, никак
Ответить с цитированием
  #43 (permalink)  
Старый 23.01.2011, 18:22
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

Ясно. Слушай x-yuri, ты уже второй раз говоришь о "сферическом". А что это значит? Так для саморазвития.

Последний раз редактировалось UpJump, 23.01.2011 в 18:30.
Ответить с цитированием
  #44 (permalink)  
Старый 23.01.2011, 19:02
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от UpJump
А что это значит? Так для саморазвития.
Я слышал анекдот про движение сферического коня в вакууме, но не помню его
Ответить с цитированием
  #45 (permalink)  
Старый 23.01.2011, 19:05
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

http://lurkmore.ru/Сферический
Ответить с цитированием
  #46 (permalink)  
Старый 23.01.2011, 19:57
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

как можно стопроцентов получить рандомное число с количеством цифр после десятичной точки к примеру 2?
То есть число.xx?
toFixed() не дал результата(выше спрашивал).
Пробывал так.
var x = (Math.random() - Math.random())*100;
x = (x.toString().substr(0,4))-0;

тоже ничего.

Последний раз редактировалось UpJump, 23.01.2011 в 19:59.
Ответить с цитированием
  #47 (permalink)  
Старый 23.01.2011, 20:05
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

var max=100
alert( (Math.random()*max).toFixed(2) )

Последний раз редактировалось Aetae, 23.01.2011 в 20:08.
Ответить с цитированием
  #48 (permalink)  
Старый 23.01.2011, 20:12
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

Нет. ты не понял. Я задавал вопрос выше на этой странице.UpJump: Q&A :)
Если я сделаю вычитание одного такого числа из другого то не всегда получу "правильный" результат.Надеюсь понятно.
Ответить с цитированием
  #49 (permalink)  
Старый 23.01.2011, 20:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

Дык всё равно toFixed на резульат.
Ответить с цитированием
  #50 (permalink)  
Старый 23.01.2011, 20:24
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

нет. меня интересует только чистое число с двумя цифрами после точки. Посмотри пример что я тебе указал. там результат не тот какой хотелось бы. А именно нужен 11.12.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск