如何在C#中正确地将整数拆分/除多次?
假设我有如何在C#中正确地将整数拆分/除多次?,c#,math,division,integer-division,C#,Math,Division,Integer Division,假设我有21875作为totalQuantityNumber 我需要在for循环中多天拆分totalQuantityNumber,例如第一天20000和第二天1875。 在结束时的for循环中,我对分割的数量求和,以便稍后验证分割是否正确,例如totalSplittedQuantity+=splittedQuantity 在拆分结束时,我验证拆分产品编号的总和是否与初始计划的总产品编号相同,例如totalQuantityNumber==totalSplittedQuantity,它应该是2187
21875
作为totalQuantityNumber
我需要在for循环中多天拆分totalQuantityNumber
,例如第一天20000和第二天1875。
在结束时的for循环中,我对分割的数量求和,以便稍后验证分割是否正确,例如totalSplittedQuantity+=splittedQuantity
在拆分结束时,我验证拆分产品编号的总和是否与初始计划的总产品编号相同,例如totalQuantityNumber==totalSplittedQuantity
,它应该是21875==21875
,但当编号为奇数时,我总是以一个数字为准,例如21875==21874
。我尝试将除法改为十进制,并在结尾处将其四舍五入,但问题仍然存在,有些时候结果也会被一结束,例如21875==21876
这是我在循环中的划分:
splittedQuantity=splittedDiffDuration*totalQuantityNumber/totalDuration代码>
totalDuration
和splittedDiffDuration
以分钟为单位,例如totalDuration=120;splittedDiffDuration=60代码>
基本上,我从一个日期时间间隔(startDate,endDate)循环每一天,比如周一到周二,将每天的数量按计划时间进行分割,比如周一计划60分钟生成X数量,周二同样是60分钟生成剩余数量
我是编程新手,数学不太好。除法有什么问题?无论数字类型(整数、小数、浮点)如何,都会因舍入或数字表示而出错
为了达到您想要的效果,您需要计算最后一个比例,即总比例与之前所有比例之和之间的差值
例如,考虑到这个总数和这个百分比:
总数:100
第一天:30%
第2天:17&
第3天:53%
比例为:
第一天:100*30%=30
第二天:100*17%=17
第3天:总计-(第1天+第2天)=100-(30+17)=53
当然,这会给出最后一个表达式的近似结果,但这是使该表达式始终为真的唯一方法:
(第1天+第2天+第3天)=总计谢谢!这帮助我解决了我的问题,现在它工作了!(不客气)