2

我在這裏遇到了一些讓我困惑的事情,而且我沒有背後的經驗來發現問題,所以我請您提供協助。無法在Javascript中指定十進制變量[CRM Online 2016]

我正在爲CRM Online 2016開發,我試圖從使用oData的另一個實體推斷值。我設法得到0.2從源實體的價值,但是當我嘗試和分配這一個變量,其值0.2變爲0見下:

圖片1:

Image showing value contained in results.new_Rate

圖2:

Image showing value assigned to variable

我只初始化用於測試目的的變量。我如何傳遞/使用results.new_Rate中包含的值?我正在考慮在稅收計算中將此用作百分比。

非常感謝

+0

results.new_Rate在您的第一張圖片中是一個字符串,而不是一個浮點數,因此您需要解析它。然而,在你的第二張圖片中,它似乎是一個數字(無論是int還是隻是一個數字),你確定它與json響應本身無關嗎?任何機會得到原始的JSON答案?此外,你可以通過在result.new_Rate之前使用parseFloat或者一元運算符(+)將其轉換爲數字,如:'textRate = + results.new_Rate;'無論哪種方式,json的答案都是關鍵。 – briosheje

+0

感謝您的回覆。我試過parseFloat(results.new_Rate);和parseFloat((results.new_Rate).toFixed(2));和parseFloat(results.new_Rate).toFixed(2);但是全部在變量中返回0。這就像.toFixed(2);沒有被調用...這是JSON字符串「{\ r \ n \」d \「:{\ r \ n \」new_Rate \「:\」0.2000000000 \「\ r \ n \} \ r \ n \}「 –

+0

算了一下。 if語句是錯誤的.... –

回答

4

聲明你的變量,這個方法:

var taxRate = parseFloat((0.00).toFixed(2));

的方法 「toFixed」 只保留兩位小數。

0

哦天哪,

我發現,如果聲明是虛假的,因此不能運行的代碼。更改爲:

if (results != null) 

這現在分配變量。

現在使用parseFloat()和.toFixed(2);它工作的一種享受。

感謝您的建議

相關問題