如何从java中包含.0的浮点数中删除小数部分

vns*_*tty 9 java android

我只想删除包含.0的浮点数的小数部分.所有其他数字都可以接受..例如:

  I/P: 1.0, 2.2, 88.0, 3.56666, 4.1, 45.00 , 99.560
  O/P: 1 ,  2.2, 88,   3.567,   4.1, 45 ,    99.560
Run Code Online (Sandbox Code Playgroud)

有没有任何方法可以做到这一点,除了 " 比较数字与".0"并采取子串 "?

编辑:我不想要ACTING FLOAT NUMBERs(比如1.0,2.0只不过是1对吗?)

我觉得我的问题有点令人困惑......
这是我的澄清:我只想向用户显示一系列浮点数.如果数字的小数部分为零,则仅显示整数部分,否则按原样显示数字.我希望现在很清楚..

Sam*_*Sam 11

尝试:

String.format("%.0f",value);
Run Code Online (Sandbox Code Playgroud)


npi*_*nti 9

你可以使用这样的正则表达式:\\.0+$.如果小数点后只有0,则该正则表达式将产生true.

你可以做的另一件事是这样的:

float x = 12.5;
float result = x - (int)x;
if (result != 0)
{
    //If the value of `result` is not equal to zero, then, you have a decimal portion which is not equal to 0.
}
Run Code Online (Sandbox Code Playgroud)


ama*_*Bit 8

如果android给你柠檬。不要扔它。

YourFormatedStringNumber = NumberFormat.getInstance().format(myNumber);

makes -> "12.50" to "12.50"  and "12.00" to "12"
Run Code Online (Sandbox Code Playgroud)

在文档中有更多信息。