Convert an integer to a formatted currency string for use in an html page

Convert an integer to a formatted currency string for use in an html page

TL;DR - the deluge custom scripts below can convert a plain integer into a currency-formatted string, i.e. convert -12345678 to ($12,345,678)  or  12345678 to $12,345,678
---------------------------------------------------------------------------------------------------
hey there fellow zoho community members!

i have been developing custom html pages for my apps in zoho creator and came across the challenge of formatting integers into nice and clean currency values. i struggled with this for awhile so i felt others may find this useful

scenario: my custom function takes in a html int parameter projectID, looks up the project record using projectID, then loops through children records and sums up currency values. the custom function outputs an integer. i then take that integer and display it on an html page. however, i want that integer to be displayed in USD currency format. for example:

function output
1553847  or  -2378495

desired value displayed on page
$1,553,847  or  ($2,378,495)


unfortunately,
  1. deluge doesn't have any number conversion tasks built-in so we're stuck with custom functions returning integers or floats
  2. we also cannot use javascript in zoho creator html pages for formatting numbers as zoho blocks any third-party scripts from being invoked from external sources
  3. also, deluge's support for regex seems to be very limited as well and only offers "match" so i had no "replace" regex options to use
with that said, i had to seek other solutions. i ended up building a deluge script to convert the integer into a USD formatted string value. i'm not a developer by trade so my code may not be the most elegant or efficient so i'd love to hear any suggestions from you and the rest of the community on how to improve this function. at the end of the day, it outputs the result i need for displaying formatted currency values in my html pages.

this method requires two functions: 1) a script to create a List of values to use in a for loop, 2) the script for looping through the original number and appending your desired separators.

i will not take credit for #1, instead i'll give a shout out to @cwm2010 for the script he recommended in a response to another community member's question.

here is the makeRange custom function you will need to call in order to create a range in my converter script:
  1. list utilities.makeRange(int start, int end)
  2. {
  3.    if(start > end)
  4.    {
  5.       return {};
  6.    }
  7.    else
  8.    {
  9.       lst = List:Int();
  10.       lst.add(start);
  11.       lst.addAll(thisapp.utilities.makeRange(start + 1,end));
  12.       return lst;
  13.    }
  14. }

the makeRange script will output a List with a range that you will use (line 25 below) for looping through your integer. now here is the script for converting an integer into a currency-formatted string.

  1. string utilities.convertIntegerToCurrency(int number)
  2. {
  3.    separator = ",";   // --- specify your type of separator (i'm using a comma)
  4.    divisor = 3;   // specify how many digits in between each separator
  5.    // --- convert integer to string & remove hyphen if number is negative
  6.    string = number.toString().remove("-");
  7.    // --- get length of string
  8.    stringLen = string.length();
  9.    info "string length = " + stringLen;
  10.    separators = 0;
  11.    // --- calculate how many separators will be needed to construct your currency string
  12.    // ------ if equally divisible 3, reduce number of separators by one (basically checks to see if number of digits is exactly divisible by 3 which means there will be one less separator)
  13.    if(stringLen / divisor = (stringLen / divisor).floor())
  14.    {
  15.       separators = (stringLen / divisor) - 1;
  16.    }
  17.    // ------ if there is a remainder after dividing by 3, set the # of separators (basically, this means there is 1 or 2 digits at the front of the number, in front of the very first separator)
  18.    else
  19.    {
  20.       separators = (stringLen / divisor).floor();
  21.    }
  22.    info "number of commas needed =" + separators;
  23.    // --- build your List needed for 'for each' loop
  24.    // ------ makeRange is a custom function required to build the List
  25.    range = thisapp.utilities.makeRange(1,separators);
  26.    info "range = " = range;
  27.    stringBuild = "";   // --- declare stringBuild variable used to continually construct the sting
  28.    // --- execute 'for each' loop to parse through the number and add separators
  29.    for each  i in range
  30.    {
  31.       // --- append separator to front of substring and add suffix of stringBuild value from previous loop iteration
  32.       stringBuild = separator + string.substring(stringLen - i * divisor,stringLen - (i - 1) * divisor) + stringBuild;
  33.    }
  34.    // --- get the first set of leading digits before the first separator
  35.    stringBuild = string.substring(0,stringLen - separators * divisor) + stringBuild;
  36.    // --- now let's bring it all together
  37.    // ------ check to see if number is positive or negative and format accordingly (you can change how you want to handle negative numbers, I wrap them in parentheses but you can modify this code to add a hyphen as the prefix, with no parentheses)
  38.    if(number < 0)
  39.    {
  40.       numConverted = "($" + stringBuild + ")";  // --- parentheses formatting for negative #'s
  41.    }
  42.    else
  43.    {
  44.       numConverted = "$" + stringBuild;
  45.    }
  46.    return numConverted;
  47. }

there you go, now you have a working function for converting a integer into a currency-formatted string. i hope this is helpful for you. happy to answer any questions you have about my approach to this script and am open to suggestions on how to improve!

enjoy!
ch

    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts





                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner







                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources

                                                                                              Zoho Writer

                                                                                              Get Started. Write Away!

                                                                                              Writer is a powerful online word processor, designed for collaborative work.

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • Converting Sales Order to Purchase Order

                                                                                                                Hi All, Firstly, this code works to convert a sales order(SO) to a purchase order (PO) via a button, however I am running into an issue when I convert the SO where the values from the line items are not pulled across from the SO to the PO. The ones in
                                                                                                              • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

                                                                                                                The address field will be available exclusively for IN DC users. We'll keep you updated on the DC-specific rollout soon. It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition. Latest update
                                                                                                              • Horrible Connectivity!

                                                                                                                I have used Meetings several times, but most of the time the connection is horrible. The video freezes, the audio freezes, and we end up cancelling the meeting. I am on a high speed internet connection, and Zoom works fine, so I know it's not a problem
                                                                                                              • Is it really true that I can't set the default 'deposit to' account in 2025?

                                                                                                                I've been using Books for 7 years and the default account has never been a problem. I usually manually reconcile invoices and have never had a thought about which account. It has always been my account. However, I recently noticed that for the past 4
                                                                                                              • Zoho DataPrep switching Date Format

                                                                                                                When using a pipeline that is importing Zoho Analytics data into Zoho DataPrep, the month and day of date fields are switched for some columns. For example, a Zoho Analytics record of "Nov. 8, 2025" will appear in Zoho DataPrep as "2025/08/11" in "yyyy/MM/dd"
                                                                                                              • Using Another Field Value for Workflow Field Update

                                                                                                                I'm trying to setup a Workflow with a "Field Update" action on the Lead module, but I would like the new value to actually be taken from a DIFFERENT Field's on the Lead record (vs just defining some static value..) Is this possible? Could I simply use
                                                                                                              • Greek character in Deluxe script

                                                                                                                Hi, We have been using a script since 2022 which replaces characters in Greek contact names using replaceAll. Since this morning, all the Greek characters used in the script have turned to question marks. I tried retyping the characters, copy-pasting
                                                                                                              • Tax information

                                                                                                                Hello, I need help/guidance on how to add my organization's Tax/VAT information. Thank you Pavly
                                                                                                              • Build smarter Guided Conversations with Fork Blocks

                                                                                                                When your customers arrive on your support channel, they're not there to explore. They are usually confused and stuck while trying to fix something important. We understand how stressful that moment can feel and we want your bot to make things easier,
                                                                                                              • Custom item field won't allow decimal.

                                                                                                                Hello, I have a custom item field that needs to be able to have a value with a decimal place such as 6.7 or 6.18. I have tried custom formatting the input format but can not get the correct syntax to allow this. Is this possible in Zoho?
                                                                                                              • Free webinar: Zoho Sign unwrapped – 2025 in review

                                                                                                                Hey there! 2025 is coming to an end, and this year has been all about AI. Join our exclusive year-end webinar, where we'll walk you through the features that went live in 2025, provide answers to your questions, and give you a sneak peek on what to expect
                                                                                                              • HubSpot CRM to Zoho Creator Integration

                                                                                                                I'm trying to create an integration between HubSpot CRM and Zoho Creator with HubSpot being the push source (if a contact is created or updated in HubSpot, it pushes the information to Zoho Creator). I have two questions: 1- Is it best to use Zoho Flow
                                                                                                              • Zoho Sign - Zoho CRM extension upgrade

                                                                                                                Hi everyone, We've updated Zoho Sign extension for Zoho CRM with significant internal changes. Impact on existing Zoho Sign extension users Users using the extension without customization If you are using the integration without implementing Zoho Sign's
                                                                                                              • Custom Fields

                                                                                                                There is no way to add a custom field in the "Timesheet" module. Honestly, the ability to add a custom field should be available in every module.
                                                                                                              • Gain control over record sharing with portal users through our new enhancement: criteria-based data exposure

                                                                                                                Dear Customers, We hope you're well! Portals is a self-service avenue through which your clients can access and manage their direct and related data in Zoho CRM. This empowers them to be more independent and enables them to experience a sense of transparency
                                                                                                              • Best-practice setup in Zoho One for managing combined candidate pools and exporting anonymised CVs

                                                                                                                We are new users of the Zoho One bundle and operate a consulting and engineering company. Our workforce model includes a mix of permanent employees, active job applicants, and freelance/independent consultants. All three groups need to be searchable,
                                                                                                              • Meet Canvas' Grid component: Your easiest way to build responsive record templates

                                                                                                                Visual design can be exciting—until you're knee-deep in the details. Whether it's aligning text boxes to prevent overlaps, fixing negative space, or simply making sure the right data stands out, just ironing out inconsistencies takes a lot of moving parts.
                                                                                                              • hard-bounced email list

                                                                                                                Hi, Below pops up when I try to send an Email to some of my customer. Please guide me how to take it out from hard-bounced list? I am not sure how they were marked in hard-bounced list
                                                                                                              • Register the 'Contact Role' addition and change as a Potential edition so it can trigger Workflows

                                                                                                                We are trying to use "Contact Roles" in Potentials. Contact Roles are special and different than the other Related lists, so, it may have a special behavior. Something to keep in mind is that you will never have 100 Contact Roles as you can have 100 Tasks, Calls, or any other Related list. In our case we will have 2 in average and up to 4 or 5 maximum. The problem is that we need to bring information from 3 key Contact Roles to the Potential and adding a Contact to the Contacts Roles area never trigger
                                                                                                              • How to check task starting time in zoho mobile app?

                                                                                                                I am using the Zoho mobile app on my iPhone, and I am not able to see the task's starting and finishing times. When opening the Task information / Details, I can only see the Task start date and due date, but not the time. Is there any way to check a
                                                                                                              • Can I change the format of the buttons in the email templates?

                                                                                                                Hi all! We have been working hard trying to brand our email templates, and have some way to go yet. One of the things we can't seem to edit is the green ${Cases.CUSTOMER_PORTAL_BUTTON} button and the font of the View Ticket text. Is there any way of doing
                                                                                                              • Best practice to structure reporting to include events covering multiple months / quarters.

                                                                                                                Hi, I'm new to Zoho, have some experience of more "enterprise" tools, looking for some input from the community. I'm looking to create a report that includes events that cover a long period, each event has a start / end date and I'm struggling undertanding
                                                                                                              • Marketing Tip #11: Turn features into benefits that sell

                                                                                                                We all love talking about our products, but here’s a secret: customers don’t just buy features, they buy benefits. Instead of just saying "Made from 100% organic cotton," try "Soft, breathable comfort that lasts all day." Benefits tell shoppers how your
                                                                                                              • Zoho Sheet - Printing - Page Breaks and Printing Customization

                                                                                                                I think the title is descriptive enough in that I cannot find help documentation on a simple task of adding in page brakes for separating pages on print. Thanks
                                                                                                              • Synchronise item image between Zoho Commerce and Zoho Books/Inventory/CRM

                                                                                                                Here is a blindingly simple idea to tie several Zoho products together. Zoho - please include a method to synchronise the item image (or images) from one Zoho application to another. For example, if you upload an item image in Zoho Inventory, a user should
                                                                                                              • How do I migrate from zoho mail to Office 365?

                                                                                                                The manual migration of Zoho Mail to Microsoft 365 typically requires using IMAP to move emails and configuring Microsoft Outlook to sync Zoho Mail. This approach can be error-prone, especially if there are multiple accounts or large email archives. Moreover,
                                                                                                              • New Update: Convert External Users in Bulk in Zoho Directory

                                                                                                                Greetings to all Zoho Directory users out there! We’re excited to introduce a new update that makes user management in Zoho Directory even more efficient; you can now convert external users in bulk! Earlier, admins could convert only one external user
                                                                                                              • New Update: Convert External Users in Bulk in Zoho One

                                                                                                                Greetings to all Zoho One users out there! We’re excited to introduce a new update that makes user management in Zoho One even more efficient; you can now convert external users in bulk! Earlier, admins could convert only one external user at a time.
                                                                                                              • How to edit form layout for extension

                                                                                                                I am working on extension development. I have created all the fields. I want to rearrange the layout in Sigma platform. But there is no layout module in Sigma. How can I achieve this for extensions other than Zet CLI and putting the fields into widget
                                                                                                              • Website not properly connecting with Zoho Creator app portal (embed & data sync issue)

                                                                                                                Hello Zoho Community, I’m currently facing an issue while trying to connect my external website with a Zoho Creator app portal. I have a tool-based website ( https://mygardencalculator.com/ ) where users interact with calculators and dynamic content.
                                                                                                              • 日本語フォントの選択肢拡充についての要望

                                                                                                                日本語フォントの選択肢がとても少ないと感じたことはありませんか? 多くのアプリ(たとえば Invoice)ではフォントが1種類しかなく、正直あまり使いやすい・見た目が良いとも言えません。 そろそろ、もっと多くの日本語フォントを追加してほしい、そしてすべてのアプリで同じフォント選択肢を使えるようにしてほしいと、私たちユーザーが声を上げる時期だと思います。 ご存じのとおり、現状ではアプリごとにフォント周りの仕様にほとんど一貫性がありません。 みなさん、一緒に要望を出していきましょう!
                                                                                                              • Does anyone know how to setup Zoho Desk or Zoho CRM as a custom outgoing/incoming Call Centre?

                                                                                                                I need to setup a call center so I can setup agents to make phone calls across Canada to market our services.  I am trying to figure out the most reliable and cost efficient way to do this? I am currently paying for two phone services and neither seem
                                                                                                              • Display actual mileage on an invoice

                                                                                                                My users are creating expenses in Zoho expense. For example, they expense 10 miles and get paid 7 dollars (10 miles * IRS rate of .70). If I look at the expenses in Zoho Books, it does show them at 10 miles at .70 cent When I add these expense to an invoice
                                                                                                              • Prevent Unapproved Quotes from Exporting to Zoho CRM Finance Module

                                                                                                                Is it possible to prevent unapproved quotes in Zoho Books from being exported from Zoho Finance module inside Zoho CRM?
                                                                                                              • Zoho Flow + QuickBooks Estimates – Line items not created from CRM subform

                                                                                                                Hi everyone, I’m trying to create QuickBooks Estimates from Zoho CRM Quotes using Zoho Flow. I’m aware that Zoho Flow’s native “Create Estimate” action does not support multiple line items, so I followed the community guidance for Invoices using a custom
                                                                                                              • Integration with...

                                                                                                                Dear Zoho Commerce team, Please could you consider the integration within Zoho Commerce / Inventory and Qapla'? (https://www.qapla.it/en/) This app is better than Aftership in many ways: - Aftership integration require PRO plan and price start from more
                                                                                                              • Unable to Create Zoho Booking via the Book Appointment API

                                                                                                                Its giving the below error {     "response": {         "errormessage": "Error setting value for the variable:customer_details\n null",         "status": "Error"     } } Request: POST Url: https://www.zohoapis.in/bookings/v1/json/appointment attached Zoho-oauthtoken
                                                                                                              • Consultant-Only Booking Page

                                                                                                                Zoho Bookings does not allow for Meeting Type OR Workspace-Wide booking pages to be turned off. This is detrimental to organizations that have territory-based or assigned accounts, because if prospects can go to these booking pages and either select the
                                                                                                              • Start Workflow from Deluge Script

                                                                                                                I have developed a customized process from our CRM that leverages a deluge script to create a statement of work document. Once the document has been created via the merge and store function, I would like the ability to start a workdrive review & approve
                                                                                                              • Request for Auto PO - Min–Max based Automated Purchase Feature

                                                                                                                Dear Zoho POS Team, I’m writing to request a feature enhancement that would significantly streamline inventory management for businesses using Zoho POS — particularly supermarkets, FMCG retail, and multi-store operations like ours. Feature Requested:
                                                                                                              • Next Page