计算数据表格当中相除后很多位小数如何处理

计算数据表格当中相除后很多位小数如何处理

文献种类:专题技术文献;
开发工具与关键技术:VS
作者:蛋蛋;
撰写时间:2019/07/11

首先需要计算的字段条件是什么?
第一:我需要计算一个销售均价;均:平均的意思,所以我需要销售金额 / 销售面积 = 销售均价;用所有的金额去除于面积就等于一个面积多少钱了
SellArea = tbSell.SellArea,//销售面积
SellAmount = tbSell.SellAmount,//销售金额
SellAveragePrice = tbSell.SellAveragePrice,//销售均价
首先还是查询出该字段的基础数据渲染出来然后再计算出我需要的销售均价;
for (int i = 0; i < listInsertSell.Count(); i++) {
decimal SellArea = Convert.ToDecimal(listInsertSell[i].SellArea);
listInsertSell[i].SellAveragePrice = listInsertSell[i].SellAmount / SellArea; }
这里用到一个for循环;循环计算出每一条数据表格当中的条数;在这里的销售面积是string类型,金额为decimal类型,所以两个类型不一致需要转换一下然后就让 销售均价 = 销售金额 / 销售面积
在这里插入图片描述
但是结果看来并不是十分完美,虽然计算的结果没错,但是保留太多位小数
第二:我需要保留两位小数或者是取整 listInsertSell[i].SellAveragePrice
Math.Round(Convert.ToDecimal(listInsertSell[i].SellAmount / SellArea));这里可以看到出现一个Math.Round(),
// Math.Round()与x最接近的数; 将把它的参数上舍入或下舍入到与它最接近的整数。对于0.5,它将上舍入。例如,2.5将被舍入为3,-2.5将被舍入为-2。
这是一个JavaScript( )方法,可把一个数字舍入为最接近的整数
在这里插入图片描述
这样它就取整数,把小数点后面的全部去除;
第三:如何保留两位小数;
string money = (listInsertSell[i].SellAmount / SellArea).ToString(); money = money.Substring(0, money.IndexOf(".") + 3);listInsertSell[i].SellAveragePrice = Convert.ToDecimal(money);
Substring()方法用于提取字符串中介于两个指定下标之间的字符;
方法返回的子串包括 start 处的字符,但不包括 stop 处的字符;如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数
String 对象的方法 slice()、substring() 和 substr()都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
** 还要注意的是,String.slice() 与 Array.slice() 相似**
Array.slice() 方法slice()将返回数组的一部分,或者说是一个子数组。返回的数组包含从start 开始到end之间的所有元素,但是不包括end所指的元素。如果没有指定end,返回的数组包含从start开始到原数组结尾的所有元素。
注意:该方法并不修改数组。如果想删除数组中的一段元素,应该使用方法Array.splice
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置;
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
searchvalue:必需。规定需检索的字符串值 fromindex:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索注释:indexOf() 方法对大小写敏感!注释:如果要检索的字符串值没有出现,则该方法返回 - 1
在这里插入图片描述
这样就解决了不管是取整数还是保留两位小数都可以啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值