У меня есть переменная double
d = 1.15
.Java: как получить часть после десятичной точки?
Я хочу число после десятичной точки, то есть «15».
Какой лучший способ достичь этого в Java?
Я попытался, как это:
Double d = 1.15;
String str = d.toString();
int len = str.substring(str.indexOf(".")).length() - 1;
int i= (int) (d * (long)Math.pow(10,len) % (long)Math.pow(10,len));
Но я не получил правильный ответ, потому что, когда я конвертировать d.toString()
ответ 14.999999999999986
.
Пожалуйста, помогите. Благодарю.
http://stackoverflow.com/questions/5017072/how-to-get-the-decimal-part-of-a-float – John
Этот вопрос был информативным для меня - я узнал, фактически запустите код, который они публикуют, или действительно прочитали вопрос. Вопрос в том, как получить '15' с' 1.15'. Только Арджун прибил его до сих пор, потому что он видел эту проблему для того, что она на самом деле: вопрос о синтаксическом анализе. Просто потому, что плакат, пробовавший использовать математику, не означает, что ответ должен следовать по тому же пути. – Paul
@Paul - Я бы сказал, что последний (отрицательный) пример OP дает ложь этой теории. Если это была просто проблема синтаксического анализа, тогда OP был бы доволен «999999999986» в качестве ответа ... –