Я думал, что я мог бы сделать это легко с чем-то, такими, как:Как проверить, имеет ли двойная переменная более двух десятичных знаков в Java?
double numInput;
numInput = Double.parseDouble(inputTxtField.getText());
if ((numInput * 100) % 1 != 0) {
// do something
}
Тем не менее, я получаю всякие странные тестовых где такие, как:
ложь: 2,11, 2,5, 2,6
верно: 2,22, 2,3, 2,2
Я только начал программировать, поэтому, возможно, это глупая дура, но я подумал о том, чтобы умножить двойную на 100, а затем проверить остаток, когда деление на 1 будет работать. Цель состоит в том, чтобы запретить кому-либо вводить число с более чем двумя десятичными знаками. Меньше или равно 2 десятичным знакам.
Любые советы приветствуются! Спасибо!
EDIT: Благодарим вас за все быстрые комментарии! Это решило мою проблему, и я очень ценю дополнительную информацию о том, почему это не сработает. Спасибо!
Я не очень хорошо понимаю проблему, и, прежде всего, поставить полный код –
Получить индекс «» и минус, что из длины двойной heh –
[Является ли математика с плавающей запятой?] (http://stackoverflow.com/questions/588004/is-floating-point-math-broken) – Dukeling