我的C#项目正在从QML文件中读取一些配置。
问题是我不确定某些转换......
QML C#
int <-> int
string <-> string
bool <-> bool
没问题
我不确定QML中的实/双(在C#中浮动/加倍) 我查找了一些关于精度的信息,但没有发现任何非常清楚的信息。
QML中的double是否相当于C#中的double? QML中的实数是否等同于C#中的float?
答案 0 :(得分:1)
C#规范说:
C#支持两种浮点类型:float和double。 float和double类型使用32位单精度和64位双精度IEEE 754格式表示
因此,float和double之间的唯一区别是C#的精度。
The QML reference says for Double:
双精度数有小数点,以双精度,IEEE浮点格式存储。
在QML中,所有实数都以单精度IEEE浮点存储 格式。
他们互相尊重IEEE 754标准。 所以QML中唯一的真差异和双精度差异也是精确度。
根据this table,将C#float类型解析为真正的QML类型并将C#double类型解析为QML中的两倍可能是一个好主意。