簡體   English   中英

Script#數字與Javascript的映射程度如何?

[英]How well do Script# numbers map to Javascript?

我一直在玩Script# ,我想知道C#數字如何轉換為Javascript。 我寫了這段代碼

int a = 3 / 2;

並查看了已編譯Javascript的相關內容:

var $0=3/2;

在C#,結果3 / 2分配給int1 ,但在Javascript,其中只有一個號碼類型,是1.5

由於C#和Javascript行為之間存在這種差異,並且由於編譯后的代碼似乎無法彌補這一點,因此我是否應該假定用C#編寫的數值計算在編譯為Javascript時可能會出現錯誤的行為?

我是否應該假定用C#編寫的數值計算在編譯為Javascript時可能會出現錯誤的行為?

是。

就像您說的那樣,“編譯后的代碼似乎無法對其進行補償”-盡管對於您提到的情況,在將a聲明為int的情況下,使用var $0 = Math.floor(3/2); 但是,如果您不控制“編譯器”的工作方式,那么您會很煩。 (您可以手動更正JavaScript,但是每次重新生成JavaScript時都必須這樣做。

還請注意,由於JavaScript表示小數位的方式,您也可能會遇到小數問題。 大多數人在第一次發現JavaScript會告訴您0.4 * 3等於1.2000000000000002時就感到1.2000000000000002 有關更多詳細信息,請參見關於此問題的許多其他問題之一,例如, 如何處理JavaScript中的浮點數精度? (實際上,我認為C#會以相同的方式處理小數,因此也許這個問題不會讓人感到驚訝。不過,這可能是新手的陷阱……)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM