toFixed() not working in client script
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-10-2022 08:29 AM
This script works as expect until I add toFixed() to shorten the decimal places to two. Error in screenshot below. Can someone offer me an alternative?
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var billRate = g_form.getValue('u_bill_rate');
var billRateNum = parseFloat(billRate.split(';')[1].replaceAll(',',''));
var costRate = newValue;
var costRateNum = parseFloat(costRate.split(';')[1].replaceAll(',',''));
//var contributionMarginNum = billRateNum + costRateNum;
var contributionMarginNum = (billRateNum - costRateNum) / billRateNum;
var contributionMarginString = contributionMarginNum.toString();
var contributionMargin = contributionMarginString + "%";
var rounded = contributionMargin.toFixed(2);
g_form.setValue('u_contribution_margin_string', rounded);
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-10-2022 08:47 AM
Hi Johanna,
Can you please try changing some lines in script as below-
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var billRate = g_form.getValue('u_bill_rate');
var billRateNum = parseFloat(billRate.split(';')[1].replaceAll(',',''));
var costRate = newValue;
var costRateNum = parseFloat(costRate.split(';')[1].replaceAll(',',''));
//var contributionMarginNum = billRateNum + costRateNum;
var contributionMarginNum = (billRateNum - costRateNum) / billRateNum;
var contributionMarginNum = contributionMarginNum.toFixed(2);
var contributionMarginString = contributionMarginNum.toString();
var contributionMargin = contributionMarginString + "%";
g_form.setValue('u_contribution_margin_string', contributionMargin);
Please let me know if it works for you.
Regards,
Rahul
Thanks and Regards,
Rahul