Преобразование типов C # / QML (double / real / float) - PullRequest
0 голосов
/ 29 ноября 2011

Мой проект на C # читает некоторые конфигурации из файла QML.

Дело в том, что я не уверен насчет некоторых преобразований ...

QML        C#
int    <-> int
string <-> string
bool   <-> bool

в порядке

Я не уверен насчет реального / двойного в QML (плавать / двойного в C #) Я искал некоторую информацию о точности, но не нашел ничего очень ясного.

Является ли double в QML эквивалентным double в C #? Реально ли в QML эквивалентно float в C #?

1 Ответ

1 голос
/ 29 ноября 2011

В спецификации C # написано:

C # поддерживает два типа с плавающей точкой: float и double. Типы float и double представлены с использованием 32-битных форматов IEEE 754 с одинарной точностью и 64-битной двойной точности

Таким образом, единственная разница между float и double - это точность в C #.

В справочнике QML указано Double :

Двойное число имеет десятичную точку и сохраняется в с двойной точностью , в формате IEEE с плавающей запятой.

и для настоящих

В QML все вещественные числа хранятся с одинарной точностью, с плавающей точкой IEEE. формат.

Они уважают друг друга стандарт IEEE 754. Таким образом, единственное различие между вещественным и двойным в QML также заключается в точности.

Согласно этой таблице , было бы неплохо проанализировать тип с плавающей точкой C # как реальный тип QML и разобрать тип с двойным типом C # для удвоения в QML.

...