繁体   English   中英

如何将GridView中的货币四舍五入为重要数字?

How to round currency in gridview to significant figures?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个从SQL表中提取的gridview,它包含不同的美元数字。 他们成千上万,数百万或数十亿。 我目前正在使用{0:c0},但我有兴趣将其缩小,以便仅显示三个有效数字。

例如,我希望$ 3,411,216,512.07显示为$ 3.41B; 而1,066,555.54美元将显示为107万美元。

有没有一种简单的方法可以在ASP.NET中做到这一点,还是我需要突破jQuery? 或者,是否应该在C#OnRowDataBound中进行?

3 个回复

您可以将数字转换为字符串,抓取前四个字符(假设是无单位,逗号等的纯数字),将其转换回数字,四舍五入,然后计算原始字符串的长度,以确定在哪里放置小数点以及用什么标记,例如B,M,K等。我建议在服务器端进行设置,除非您想在浏览器中执行此操作,否则我认为这样做没有意义它以某种方式互动。

我会在OnRowDataBound中进行。 检查一下您的数字是否大于十亿,将其除以十亿,然后在string.format末尾加一个“ B”,并在其前面加上货币符号,然后返回。 检查数字是否大于一百万...等等

您可能可以编写一种算法来动态处理它,但是由于这是金钱,并且可能限制在数万亿美元,因此手动进行处理应该更快。

    if(n>999999)
    {
    string number = Convert.ToString(n.slice[0,3]) + "M";
    ... 
//> (apply it to your datatable and then show it (in datagridview if that's
//> what you're using)
    }
   else if (n>...)

对于在Bilion上方等的情况重复此操作,但是仍然需要检查逗号将在哪里。 我不确定该怎么做。 这就是您可以根据需要获取前三个数字并应用“ B”或“ M”的方法。

1 R中的重要数字四舍五入

所以基本上我正在做一个物理实验,在我的表中我希望我的数据四舍五入到与错误相同的精度,这四舍五入为1 sig fig。 例如,如果我有以下内容: 想要最终得到的是将角度误差四舍五入为1 sig fig,并将角度四舍五入到相应的小数位数作为角度误差,给出 希望这有道理! 这是 ...

4 四舍五入到重要数字 - 缺少零

我目前正在制作一个JavaScript驱动的数学软件包,专注于四舍五入到各种重要数字(SF),但我遇到了一个我正在努力解决的问题。 以后更多关于这个问题,但首先是一些背景知识。 该程序旨在选择给定范围内的完全随机数 ,然后自动计算出该数字的相关有效数字 ; 例如: 随机数: ...

6 如何将数字四舍五入为常数小数

我想使用“ math.sqrt”,即使对于像“ 4”这样的数字,我的输出也应该在小数点后4位。 有什么功能或方法吗? 我使用了“ round(num_sqrt,4)”,但是没有用。 我的输入就像:1 2 3 19输出必须是:1.0000 1.4142 1.7320 4.3588而我的输 ...

2019-04-19 14:59:03 2 36   python
7 如何将数字四舍五入到 500

我有一个文本输入,它只接受任何可被 500 个示例整除的数字,例如 1000、1500、2000、2500 3000 等。如果用户写 12263,它应该四舍五入到 12000,如果用户写 12789,它应该四舍五入到 12500 我有这个代码,但它根本不起作用,在某些数字上工作正常,但在其他数字上 ...

9 SQL 如何将数字四舍五入为三?

我在 PostgreSQL 工作,并尝试将平均值四舍五入为三个数字。 我尝试使用 round(avg(nubmer),3)。 但它不起作用。 我不使用 WITH 或 View,因为我在 function 中使用 ...

10 如何将数字四舍五入到一个范围

我对一个项目有一个奇怪的要求。 我有一个包含30列的HTML表-每个列都显示为一个实线,高度设置为该列的值。 列的最大值设置为200。每列都是动态生成的,有时值会超过200。(例如680、340、210等)。 我想知道的是如何将这个数字降至200以下? 该总和将需要应用于所有列。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM