c# - C#:将双精度数隐式转换为浮点数?
问题描述
我知道在 C# 中默认情况下不允许从 double 到 float 的隐式转换,但是有什么方法可以启用这种转换吗?有某种编译指示?我不担心缺乏精度(因为我的应用程序在任何地方都不需要超过浮点精度),而且只是对必须始终确保我将所有十进制值明确声明为浮点数感到恼火,否则我会得到编译错误。
解决方案
不,你不能。由于这种转换可能会导致精度损失,并且编译器无法确定它是否会发生,因此您必须明确表示您知道转换。
我不确定“将小数显式声明为浮点数”是什么意思,但如果你现在没有,你可以通过f
在末尾添加一个来判断文字是浮点数
float a = 0.0; // Wrong, implicit conversion.
float b = 0.0f; // OK. Can also be capital 'F'.
但是,如果您抱怨到处添加这封信作为负担,那么对不起,答案是否定的,您无法解决这个问题。
推荐阅读
- javascript - JavaScript 如何将字节码转换为机器码?
- node.js - 为什么我在处理请求时收到错误消息。在使用适配器之前不要注册任何解析器?
- database - Toolbar.php 块不向 sorter.phtml 文件发送附加数据
- karate - 如何根据空手道中的响应标头应用 if 条件
- python - 我对python中的'sorted()'有疑问
- yocto - 如何从 Yocto 中的文件提供 U-Boot 默认环境?
- mysql - 释放 MySQL 池连接时,连接是否应该保持打开状态,这会影响最大连接数吗?
- javascript - Javascript:连接变量中的对象值
- python - 为自定义损失函数分配张量对象
- wordpress - 使用 Wordpress 进行 CSP 的最佳实践