- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个愚蠢的问题:
String str0 = "245.00";
String str1 = "45.00";
Double str3 = Double.parseDouble(str0) - Double.parseDouble(str1);
System.out.println(str3); =====> 200.0
为什么它不给出 200.00? (也用 Float 进行了测试)如何控制逗号后的位数?
最佳答案
这不是答案,而是进行浮点计算的一般建议。
您应该使用BigDecimal进行计算
public class BigDecimalExample {
public static void main(String args[]) throws IOException {
//floating point calculation
double amount1 = 2.15;
double amount2 = 1.10;
System.out.println("difference between 2.15 and 1.0 using double is: " + (amount1 - amount2));
//Use BigDecimal for financial calculation
BigDecimal amount3 = new BigDecimal("2.15");
BigDecimal amount4 = new BigDecimal("1.10") ;
System.out.println("difference between 2.15 and 1.0 using BigDecimal is: " + (amount3.subtract(amount4)));
}
}
输出:
使用 double 的 2.15 和 1.0 之间的差异是:1.0499999999999998
使用 BigDecial 的 2.15 和 1.0 之间的差异是:1.05
此答案改编自http://javarevisited.blogspot.in/2012/02/java-mistake-1-using-float-and-double.html
您还可以阅读一篇关于 BigDecimal 需求的非常好的文章 http://www.javaworld.com/article/2071332/the-need-for-bigdecimal.html
关于java - 双减运算结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24180290/
我有两个选择语句,它们从两个不同的表中获取值。select 语句看起来像这样 SELECT year(timestamp) y, month(timestamp) m, count(id) c FRO
我正在使用grails 1.3.7。 我有一个像这样的域类产品: class Product = { String name Float price Float discount =
关于将 View 限制在其容器的边缘,我有一个基本但必要的问题。例如,要将标签约束到主视图容器,您可以直接在界面构建器中设置这些约束,我已经看到一个导师为左侧(前导)选择 -20 值,为右侧选择相同的
有谁知道如何用用户定义的类实现集合操作,并以其属性作为操作条件。例如: class myClass { var figure: Int! } let classObj1 = myClass() c
我正在尝试计算一条消息是否已看到/未看到以及已读/未读。 在data_chats_parties表中,有两个字段,last_seen和last_read 在 data_chats_messages 表
我想在pytorch中的矩阵和向量之间做+/-/*。我怎样才能有好的表现?我尝试使用扩展,但它真的很慢(我使用的是带有小向量的大矩阵)。 a = torch.rand(2,3) print(a) 0
我有下面的 less 部分: @image-ui-wave-width: 28px; [...] .wave { &.saw { background-position: -@
文件日期戳: TIME_SETRUN=1517299635 TIME_SUBMIT=1517299661 TIME_EXEC=1517771852 TIME_EXPIRE=1518117452 TIM
我想将数字表示为数字列表。即使它们的大小不同,我如何加减和除这两个数字?例如:100 - 12 = 88 等于 (1 0 0 ) 减去 ( 1 2) = ( 8 8) 100/12 = 8 等于 (1
使用时 lessc在 commandline ,我可以通过选项--modify-var="my-var=my-val" . 当我通过 API 以编程方式使用较少时,如何传递相同的选项与 less.re
我有一个菜单系统,它使用一个 170px 宽 x 1px 高的图像(无限重复)它的左侧有一个 10px 的边框,但右侧有一个 30px 的边框。 有没有办法使文本居中,但要考虑右侧的额外 20px?
在 the accepted answer to "Iterator to last element of std::vector using end()--" @barry 说: Note that
我正在尝试使用批处理文件创建任意时间。我试图从我的代码中减去设置值(例如1天,1个月和2000年),以显示系统时间减去前面所述的设置值。对于小时和分钟,我要减去10小时和10分钟(在代码中显示为不同的
我有两个表: 表 1:库存 uid|item| -------- 01 |value1 02 |value2 02 |value2 etc|etc 表 2:销售额 uid|item --------
这个问题已经有答案了: Is floating point math broken? (33 个回答) 已关闭 9 年前。 我有一个简单的函数,应该生成 1000 个不同的元素: var start
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this q
.file "calcnew.c" .text .globl calcnew .type calcnew, @function calcnew:
我需要一个很好的资源来阅读如何创建一个算法来获取两条折线(一条由多条线组成的路径)并在它们之间执行并集、减法或交集。这与自定义 API 相关,因此我需要了解底层算法。 此外,任何 VB 方言的源代码都
我正在制作一个简单的计算器。一切正常。但问题是,当我点击加/减/除/乘按钮两次时,应用程序崩溃了。 我从 logcat 中发现了问题,即“java.lang.StringToReal.parseDou
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 3 年前。 我目前正在创建一个计算器,我正在其中读取 String 中的代码。并将
我是一名优秀的程序员,十分优秀!