保留小数点后面 N位

l6750177 2016-03-27 05:33:12
高中 循环小数



以上这个就是例子

输入 1/47 求得46位后面的小数 ,,,

我用过 Math.Round 和一些 ToString 的方法 根本求不出 那么长余数,怎么办


...全文
177 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2016-03-28
  • 打赏
  • 举报
回复
天文数字,需要特殊处理,例如1000位数,你就byte[] Num=new byte[1000];能解决任何位数问题 当然要自己实现运算规则
杨友山 2016-03-28
  • 打赏
  • 举报
回复
扩大对应的倍数这个方法还是不错的。
zbdzjx 2016-03-28
  • 打赏
  • 举报
回复
要么就用数组,用循环来一位一位的计算。
nry19871012 2016-03-27
  • 打赏
  • 举报
回复
将分子扩大倍数来算。得到的结果就是你要的小数点后的值。
xuzuning 2016-03-27
  • 打赏
  • 举报
回复
Console.WriteLine(BigInteger.Parse("10000000000000000000000000000000000000000000000000000000000000000000000") / 47); 212765957446808510638297872340425531914893617021276595744680851063829
l6750177 2016-03-27
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
用System.Numberics.BigInteger吧,正常的小数没哪个支持这么长的精度的 你先将数字转化为足够的长度,然后再除47,得到的整数就是你想要的小数位了,然后显示部分怎么给指定位置加点就很简单了
help me 百度了一堆的代码 BigInteger.Remainder 都没办法实现啊 版主大人 求指教。。。
  • 打赏
  • 举报
回复
用System.Numberics.BigInteger吧,正常的小数没哪个支持这么长的精度的 你先将数字转化为足够的长度,然后再除47,得到的整数就是你想要的小数位了,然后显示部分怎么给指定位置加点就很简单了

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧