Десятичная запятая в Java-скрипте - PullRequest
0 голосов
/ 28 октября 2008

Я пытаюсь сравнить два десятичных значения в сценарии Java. У меня есть два объекта как одно предполагаемое значение "3", а другой как "3.00". Когда я говорю if (obj1 == obj2), он не проходит условие, как это делает сравнение строк.

Вместо этого я хотел бы сделать десятичное сравнение, где 3 = 3,00. Пожалуйста, дайте мне знать, как это сделать.

Ответы [ 5 ]

2 голосов
/ 28 октября 2008

Вы также можете делать приведение типа:

var a = "3.00";
var b = "3";

Number(a) == Number(b) // This will be true
2 голосов
/ 28 октября 2008

Эта страница описывает, как преобразовать строку в число с плавающей запятой; Я верю, что это то, что вы хотите. Это позволило бы вам сравнивать числа как числа, что я думаю, что вы подразумеваете под «десятичным числом». Помните, что точное сравнение двух чисел с плавающей запятой часто считается немного «опасным», поскольку существуют проблемы точности, которые могут привести к тому, что два числа, которые вы считаете «равными», не сравниваются как таковые. См., Например, Что должен знать каждый компьютерный ученый об арифметике с плавающей точкой , которая является классическим текстом по этой теме. Возможно, немного продвинутый, но попробуйте поискать что-то более простое в этом случае.

0 голосов
/ 28 октября 2008

Как строки, они не равны. Как целые числа они есть, но ваш пример подразумевает float, и это проблема. Избегайте сравнения равенств чисел с плавающей точкой из-за их природы: их точность ограничена, и после разной арифметики вы можете в конечном итоге сравнить числа, такие как 1.0 и .99999999999, и получить «не равно».

0 голосов
/ 28 октября 2008

Может быть, вы можете попробовать parseFloat () так:

if(parseFloat(obj1) == parseFloat(obj2))

parseFloat () концерты Строки для плавания.

0 голосов
/ 28 октября 2008
if(parseFloat(obj1) == parseFloat(obj2)) { // ...

Но примите во внимание ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...