my双=42.12323532
我希望它只显示"42"
。我该怎么做?这就是我尝试过的-
TV_BMR.setText("BMR: " + String.format("%.2f", BMR) + " cal");
但这只是四舍五入到2位。我希望删除小数之后的所有内容。包括小数。
String str = “BMR: “ + (long)BMR;
然后,我们可以在高双精度类型范围内,将小数点后的所有内容删除。
String str = “BMR: “ + (int)BMR;
我想用一个小数点和一个小数位的格式将任何双精度四舍五入为双精度,这样29575.347434将是2.3。 我试着用decimalFormat做这个,但当我试着我只得到了一个29575.3格式的字符串,带有一个,我不知道如何在保留值为双精度的同时去掉所有小数点。
问题内容: 应该很容易。我本来是用javascript来做的,但是在设置我的处理程序页面中的表单之前必须先做。无论如何,我需要使这些值具有2个小数位。Ex 219333.5888888必须为219333.58。有修剪功能或其他功能吗? 问题答案: 这是格式化十进制值的简单示例
问题内容: 如果我有以下小数点数字: 然后我得到以下输出: 我想要的是: 问题答案: 可能令人困惑的部分是 的表示整个数(包括小数)的长度,而不仅仅是小数之前的部分。该代表的小数位数。 因此,要使格式正确无误,最多可以有小数点前4个数字和小数点后3个位,实际上是所需的格式。
问题内容: 对于此代码块: 的值d就是0.0。它可以通过强制转换来工作: 但是还有另一种方法来获得正确的结果吗?我不喜欢强制转换原语,谁知道会发生什么。 问题答案: 这样可以避免强制转换。但是你会发现强制转换的定义很明确。你不必猜测,只需检查JLS即可。从int到double是一个不断扩大的转换。从第5.1.2节开始:
问题内容: 我正在为一个学校项目创建一个RPN计算器。我在使用模运算符时遇到了麻烦。由于我们使用的是double数据类型,因此模数不适用于浮点数。例如,0.5%0.3应该返回0.2,但是我得到除以零的异常。 该指令说要使用fmod()。我到处都在寻找fmod(),包括javadocs,但找不到。我开始认为这是我必须创建的方法? 编辑:嗯,奇怪。我只是再次插入这些数字,它似乎工作正常……但以防万一。
问题内容: 我想删除所有结尾的零而不截断或舍入该数字(如果没有的话)。例如,数字可能类似于,在这种情况下,尾随零应被删除。但是这个数字也可能 几乎是 不合理的,比如在屏幕的边缘。有没有办法设置DecimalFormat或其他类以减少尾随的零,同时保持不合理性不变? 问题答案: 如果您愿意切换到,则可以使用#stripTrailingZeroes()方法来完成此操作。