2013-11-10 9 views
3

просто простой вопрос о JS/C# floats. Я делаю многопользовательскую игру и обычно должен синхронизировать вещи между клиентом и сервером. Теперь вопрос, являются ли C# float и Javascript плавает один и тот же тип данных? Например, могу ли я отправить один в другой, и он будет понимать друг друга. Я отправлю поплавки с научными обозначениями, потому что я думаю, что это будет самым коротким и точным. Если у вас, ребята, нет других идей :)Javascript float по сравнению с C# float

Заранее спасибо.

ответ

6

A C# double и JavaScript Number - это то же самое, оба являются двухточечными (64-разрядными) IEEE-754 номерами с плавающей запятой. (A C# float только с одинарной точностью [32-бит], так что если вы хотите, то же самое, JavaScript имеет, использовать double, не float.)

+0

О, я вижу, Javascript имеет значение «float» - это double a.k.a 64-битный float. Спасибо, это означает, что мне нужно будет использовать double в C#. Нет проблем! Спасибо за четкий ответ! –

+1

@KoBi: JavaScript не имеет 'float' или' int' или 'long' вообще. Он имеет только один тип номера, 'Number', который является 64-битным номером IEEE-754. –

+0

Ну вот почему я спросил, я был как-то уверен, что JS имеет 32-битные поплавки для чисел var. –

1

Я пошлю поплавки с научными нотации

Почему не отправлять данные с помощью JSON? Он работает достаточно хорошо и отделяет вас от необходимости изобретать новый транспортный формат.

+0

Аккуратно работать с JSON в C#, а также добавляет дополнительные накладные расходы как на сервере, так и на клиента. Я пытался работать с JSON, и я сдался. Да, это принесло бы пользу, если бы игра была большой. Но это просто простые онлайн-змеи, поэтому вы можете себе представить, что новый транспортный формат - это простое токенирование строк и синтаксический анализ :) –