草庐IT

小数点

全部标签

带有逗号和 2 个小数位的 Java 格式 BigDecimal 数字

我想用逗号和2个小数点格式化BigDecimal数字。例如Amountis:5.0001andformattedto:5.00Amountis:999999999.999999andformattedto:999,999,999.99Amountis:1000.4999andformattedto:1,000.49Amountis:9999.089andformattedto:9,999.08Amountis:0.19999andformattedto:0.19Amountis:123456.99999999andformattedto:123,456.99

java - 如何使用字符串生成器在 Java 中打印最多两位小数?

您好,我正在尝试在划分字符串生成器并打印该字符串生成器后进行打印,让我看看我的代码,string.append("Memomryusage:total:"+totalMemory/1024/1024+"Mb-used:"+usageMemory/1024/1024+"Mb("+Percentage+"%)-free:"+freeMemory/1024/1024+"Mb("+Percentagefree+"%)");在上面的代码中,“totalmemory”和“freememory”是double类型,字节值不为空,所以我将它除以“1024”两次以得到它在“Mb”中,“string”是字

java - 四舍五入到小数点后三位最快的方法是什么?

SO社区是对的,在你问性能问题之前分析你的代码似乎比我随机猜测的方法更有意义:-)我分析了我的代码(非常密集的数学)并且没有意识到我的70%以上代码显然在我认为不是减速、小数点四舍五入来源的部分。staticdoubleroundTwoDecimals(doubled){DecimalFormattwoDForm=newDecimalFormat("#.###");returnDouble.valueOf(twoDForm.format(d));}我的问题是我得到的十进制数字通常是.01、.02等,但有时我得到类似.070000000001的数字(我真的只关心0.07,但浮点精度导致我

java - 如何在不舍入的情况下在 Java 中截断小数?

我有一系列Java小数,例如:0.436784362876438720.43234245564556540.6575643254344554我希望截掉小数点后5位的所有内容。这怎么可能? 最佳答案 如果你想让事情变得快速和简单。;)publicstaticvoidmain(String...args){double[]values={0.43678436287643872,0.4323424556455654,0.6575643254344554,-0.43678436287643872,-0.4323424556455654,-0

java - 查找数字 (4+sqrt(11))^n 的小数点前的最后两位数字

我正在做一道题,我必须找到数字[4+sqrt(11)]n.例如,当n=4,[4+sqrt(11)]4=2865.78190...时,答案是65。其中n可以从2变化9。我的解决方案-我尝试构建一个平方根函数来计算11的平方根精度等于用户输入的n值。我用过BigDecimal在Java中避免溢出问题。publicclassMathGenius{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);longa=0;try{a=reader.nextInt();}catch(Exceptione){Syst

java - 如何删除字符串值中的尾随零并删除小数点

这个问题在这里已经有了答案:Howtonicelyformatfloatingnumberstostringwithoutunnecessarydecimal0's(28个答案)关闭8年前。如果字符串在小数点后仅包含零,如何删除字符串值中的尾随零并删除小数点?我正在使用以下代码:Stringstring1=Double.valueOf(a).toString()这会删除(10.10和10.2270)中的尾随零,但我没有得到第一个和第二个输入的预期结果。输入10.010.0010.1010.2270预期输出101010.110.227

java - 如何检查 double 是否最多有 n 位小数?

目前我有这个方法:staticbooleancheckDecimalPlaces(doubled,intdecimalPlaces){if(d==0)returntrue;doublemultiplier=Math.pow(10,decimalPlaces);doublecheck=d*multiplier;check=Math.round(check);check=check/multiplier;return(d==check);}但此方法对于checkDecmialPlaces(649632196443.4279,4)失败可能是因为我在基数2上进行基数10的数学计算。那么如何才能

java - 在 O(N) 时间内更改小数的基数

我道歉。这个问题是编程作业的一部分。我们被要求实现一种以P位精度将分数f从基数A更改为基数B的方法。函数有签名baseChanger(int[]f,intA,intB,intP)。例如,小数3.14159的小数为0.14159,表示为数组:int[]frac={1,4,1,5,9};16进制的分数--0.3BA07--会被写成int[]frac={3,11,10,0,7};二进制小数0.01转换为十进制小数是0.25,测试转换函数如下所示:int[]from={0,1};int[]to={2,5};@TestassertArrayEquals(to,baseChanger(from,2

java - 显示 double 和 float 时如何对齐小数点

如果我有以下小数点数:Double[]numbers=newDouble[]{1.1233,12.4231414,0.123,123.3444,1.1};for(Doublenumber:numbers){System.out.println(String.format("%4.3f",number));}然后我得到以下输出:1.12312.4230.123123.3441.100我想要的是:1.12312.4230.123123.3441.100 最佳答案 可能有点困惑的部分是String.format("4.3",number)

c++ - 如何使用STL获取系统的小数分隔符?

要使用正确的数字分隔符('.'或',')生成csv文件,因为我希望它们与机器上安装的Excel版本兼容,我需要从C++程序中获取小数点分隔符。我的机器有法语版的Windows/Excel,所以小数点分隔符是','。intmain(){std::cout>(std::cout.getloc()).decimal_point();return0;}输出.,这不是预期的我尝试使用WIN32API:intmain(){TCHARszSep[8];GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SDECIMAL,szSep,8);std::cout输出,,这是预