2

У меня есть кое-что озадачивающее меня здесь, и у меня нет опыта позади меня, чтобы выявить проблему, поэтому я прошу вас о вашей любезной помощи.Невозможно назначить десятичную переменную в Javascript [CRM Online 2016]

Я разрабатываю для CRM Online 2016, и я пытаюсь экстраполировать значение из другого объекта с использованием oData. Мне удалось получить значение 0,2 от исходного объекта, но когда я пытаюсь присвоить это переменная, значение 0,2 становится 0. Смотрите ниже:

picture1:

Image showing value contained in results.new_Rate

Picture2:

Image showing value assigned to variable

Я только инициализируются переменные для целей тестирования. Как передать/использовать значение, содержащееся в results.new_Rate? Я хочу использовать это как процент в калькуляции налога.

Большое спасибо

+0

results.new_Rate в первой картине является строкой, а не с плавающей точкой, поэтому вам нужно будет разобрать его. На второй картинке, однако, это число (или int или просто число), вы уверены, что оно НЕ связано с самим ответом json? любой шанс получить исходный ответ JSON? Кроме того, вы можете использовать его как число, просто используя parseFloat или просто унарный оператор (+) до results.new_Rate, например: '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); это работает.

Спасибо за ваши предложения

Смежные вопросы