我想最多舍入2位小数,但只在必要时.
输入:
10
1.7777777
9.1
Run Code Online (Sandbox Code Playgroud)
输出:
10
1.78
9.1
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做__CODE__?
我有这行代码将我的数字四舍五入到小数点后两位.但是我得到这样的数字:10.8,2.4等.这些不是我的两位小数的想法,所以我如何改进以下内容?
Math.round(price*Math.pow(10,2))/Math.pow(10,2);
Run Code Online (Sandbox Code Playgroud)
我想要10.80,2.40等数字.使用jQuery对我很好.
我有一个小的疯狂方法,将BigDecimal值转换为漂亮可读的字符串.
private String formatBigDecimal(BigDecimal bd){
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(3);
df.setMaximumFractionDigits(3);
df.setMinimumIntegerDigits(1);
df.setMaximumIntegerDigits(3);
df.setGroupingSize(20);
return df.format(bd);
}
Run Code Online (Sandbox Code Playgroud)
然而,它还产生了一个所谓的分组分隔符",",它使我的所有值都出现如下:
xxx,xxx
Run Code Online (Sandbox Code Playgroud)
我确实需要分隔符是点或点而不是逗号.有没有人知道如何完成这个小壮举?
我已阅读本,尤其是这个,现在死,但我无法找到一个方法来完成这件事.我是以错误的方式接近这个吗?这样做有更优雅的方式吗?甚至可能是一个解决不同本地数字表示的解决方案,因为逗号将完全符合欧洲标准.
除了Integer.parseInt()处理减号(如文件所述),Integer.valueOf()和之间是否还有其他差异Integer.parseInt()?
因为两者都不能解析,为十进制千位分隔符(产生NumberFormatException),有没有一个已经可用的Java方法来做到这一点?
在JavaScript中,将数字舍入到N个小数位的典型方法是:
function roundNumber(num, dec) {
return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
}
Run Code Online (Sandbox Code Playgroud)
然而,这种方法将舍入到最多 N个小数位,而我想要总是舍入到N个小数位.例如,"2.0"将四舍五入为"2".
有任何想法吗?
这就是我现在所拥有的:
$("#number").val(parseFloat($("#number").val()).toFixed(2));
Run Code Online (Sandbox Code Playgroud)
它看起来很麻烦.我认为我没有正确地链接这些功能.我是否必须为每个文本框调用它,还是可以创建单独的函数?
public void LoadAveragePingTime()
{
try
{
PingReply pingReply = pingClass.Send("logon.chronic-domination.com");
double AveragePing = (pingReply.RoundtripTime / 1.75);
label4.Text = (AveragePing.ToString() + "ms");
}
catch (Exception)
{
label4.Text = "Server is currently offline.";
}
}
Run Code Online (Sandbox Code Playgroud)
目前我的label4.Text得到类似的东西:"187.371698712637".
我需要它来表示:"187.34"
DOT后只有两个帖子.有人可以帮我吗?
在处理数据时(例如,在data.frame中),用户可以通过使用来控制显示数字
options(digits=3)
Run Code Online (Sandbox Code Playgroud)
并列出data.frame这样的.
ttf.all
Run Code Online (Sandbox Code Playgroud)
当用户需要像这样在Excell中粘贴数据时
write.table(ttf.all, 'clipboard', sep='\t',row.names=F)
Run Code Online (Sandbox Code Playgroud)
数字参数被忽略,数字不会舍入.
看到好的输出
> ttf.all
year V1.x.x V1.y.x ratio1 V1.x.y V1.y.y ratioR V1.x.x V1.y.x ratioAL V1.x.y V1.y.y ratioRL
1 2006 227 645 35.2 67 645 10.4 150 645 23.3 53 645 8.22
2 2007 639 1645 38.8 292 1645 17.8 384 1645 23.3 137 1645 8.33
3 2008 1531 3150 48.6 982 3150 31.2 755 3150 24.0 235 3150 7.46
4 2009 1625 3467 46.9 1026 3467 29.6 779 3467 22.5 222 3467 …Run Code Online (Sandbox Code Playgroud) 当我编写一段处理一些浮点值的JavaScript代码时,一个想法让我感到震惊.JavaScript中的小数点符号是什么?它总是.吗?还是文化特有的?并且怎么样.toFixed()和.parseFloat()?如果我正在处理用户输入,则可能包含本地特定于文化的小数点分隔符号.
最终,我想编写支持用户输入中的两个小数点的代码 - 特定于文化.,但如果我不知道JavaScript期望什么,我就不能编写这样的代码.
补充:好的,Rubens Farias 建议查看类似的问题,其中有一个很好的接受答案:
function whatDecimalSeparator() {
var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
Run Code Online (Sandbox Code Playgroud)
这很好,它让我得到locale小数点.毫无疑问,迈向解决方案的一步.
现在,剩下的部分将是确定行为.parseFloat()是什么.几个答案指出,对于浮点文字只有.有效.是否.parseFloat()采取同样的方式?或者它可能在某些浏览器中需要本地小数点分隔符?是否有任何不同的方法来解析浮点数?我应该推出我自己的即将到来的吗?
decimal-point ×10
javascript ×5
rounding ×4
java ×3
android ×1
bigdecimal ×1
c# ×1
decimal ×1
excel ×1
formatting ×1
integer ×1
jquery ×1
math ×1
parsing ×1
ping ×1
r ×1
string ×1
syntax ×1