如何获得double.ToString 有时不会截断最后的数字.
如果我在Visualstudio立即窗口或Quickwatch中显示双精度,我会看到17位小数.当我将它转换为字符串时,我看到15.
可能有一个很好的理由,但我的问题是如何解决它.
? 0.87912328514094507 0.87912328514094507 ? 0.87912328514094507.ToString() "0,879123285140945"
Win7 fwiw上的Dotnet 4.6.2.
1> Eric Lippert..:
实现这一目标有两种标准机制.
如果你"R"
作为参数传递给ToString
那么你得到往返字符串.也就是说,将double转换为字符串,然后将字符串转换为double的字符串总是为您提供开头的双精度字符串.
如果您"G17"
作为参数传递,那么您将获得标准字符串格式,但扩展到17个小数位.
你不知道这一点当然可以原谅!这种机制不是特别容易发现的.在过去的40年里,我并不是格式化字符串未能发展的忠实粉丝.
有关更多详细信息,请阅读以下文档:https://docs.microsoft.com/en-us/dotnet/api/system.double.tostring
- 随机文章
- 热门文章
- 热评文章
- yii2支持php7吗
- CF1251E2
- 【Kotlin回顾】4.扩展
- 使用npm仓库的优先级以及.npmrc配置文件的使用
- Angular2-从组件访问变量到类的外侧(没有父级,子级关系)
- os是什么意思啊
- tmsi和iccid区别是什么
- kmp、exkmp(z算法)
上一篇:如何在http请求后获得响应 下一篇:JavaWeb知识总结|会话技术