Vue.js - when it comes to rounding off digits, I keep getting unexpected results

Currently, I am in the process of calculating my totals and I need to ensure that they are fixed to 2 decimal places. Here is a snippet of my code:

this.selectedCompaniesDetails.forEach((company) => {
                            if(company.id == p.company_id)
                            {
                                if (!tot[p.company_id])
                                {   tot[p.company_id] = [] }
                                    const numberPrice = parseFloat(p.price)
                                
                                 tot[p.company_id].push(numberPrice)
                            }
                        });

However, I am facing an issue with the parseFloat(p.price) function which seems to be returning strange values. To visualize this problem better, take a look at my screenshot below. https://i.sstatic.net/doAgf.jpg

Answer №1

Here is an example to consider:

let number = 5.56789;
let roundedNumber = number.toFixed(2);

console.log(number);
console.log(roundedNumber);

Answer №2

For rounding a number to two decimal places, you can use the following code snippet:

function roundToTwo(num) {
   return +(Math.round(num + "e+2")  + "e-2");
}

let number = 139.605;
let round = roundToTwo(number)
var f = number .toFixed(2);

console.log('original', number);
console.log('expected', 139.61);
console.log('(Correct)round', round);
console.log('(Wrong)toFixed', f);

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

I receive an [object HTMLCollection] as the output

I am currently working on recreating a login page and I want it so that when the button is clicked, it displays the name you entered, but instead, it returns [object HTMLCollection]. My expectation was to have the name displayed as entered. var nombre ...

Having trouble with Mongoose's findOne method not functioning as expected

I am developing an application where users can input data such as the number of hours they slept and their eating habits. This information is then stored in a collection known as the Journal. When a user clicks on "stats", it activates a function called f ...

Guide to extracting information from a text file, modifying the content, and then adding it to an HTML document

I have some content stored in a text file which includes HTML with template literals like the following: <html> <head></head> <body> <p>`${abc}`</p> </body> </html> The values are coming from server abc.. M ...

Effortlessly showcase JSON data in an HTML owl carousel

Is there a way to display JSON data in HTML format? I have a JSON file containing reviews from Facebook, and I would like to showcase them on my website. Each review should be placed in its own div element. The JSON data below is extracted from the Faceboo ...

Harness the power of Highcharts through an Ajax request to retrieve a JSON file

I am having an issue using Highcharts with a JSON file from an external server. When I try to bind the returning file to the chart in my ASP.NET MVC application, it doesn't work. Here is the code I have attempted: http://jsfiddle.net/Q6ngj/2/ jQuery ...

I'm having trouble with my useState in React/NEXTjs because it's not adding onto the result of a socket.io event from the server, it's simply

Frameworks used: Next.js, Socket.io, React I am currently working on a straightforward messaging application. The main concept involves emitting a message typed by a user, sending that message to the server, and then broadcasting it back to all clients th ...

Is it expected to conceal children who are 2 years old?

I came across the following HTML code snippet: <ul id="product_create-header" class="stepy-header"> <li id="product_create-head-0" class="stepy-active"> <div>Categoría</div><span>Categoría</span> </ ...

Customizing the Header Navigation in Vue App.vue Across Various Views

Struggling to find the best approach for managing a header navigation in Vue 2 using Vuex with VueRouter. The main issue is creating a dynamic 'header' type navigation in App.vue. <div id="nav"> <!--Trying to create a dynamic ...

Newbie's Guide - Building React/React-Bootstrap JavaScript Components Post Linking CDNs in index.html

Exploring Glitch hosting for a React/React-Bootstrap website as part of my web development training. Although these tools are new to me, I have years of experience as a developer. Successfully linked React, React-Dom, Babel, and React-Bootstrap CDN's ...

Enhancing Angular 4 classes with dependency injection techniques

Currently utilizing angular 4 and angular cli for my project development. I have created some classes that serve as the base for my components! However, as the constructors of these classes grow during development, I find myself in a phase where I need to ...

Preserve the ajax controls while uploading files

I encountered a minor issue with file uploading. When I click the upload button, a window (ajax powered) pops up for selecting a file. However, as soon as the file is uploaded to the browser, the page reloads and the window closes, leaving me without the ...

How can I dynamically pass a background:url using JavaScript to CSS?

I have a CSS code snippet below that I would like to dynamically change the "background:url" part using Javascript. div{ background: url('pinkFlower.jpg') no-repeat fixed; -webkit-background-size: cover; -moz-background-size: cover; ...

Divide a JSON dataset into two distinct JSON files and incorporate them within the code

My JSON file structure is as follows: { "rID": "1", "rFI": "01", "rTN": "0011", "rAN": "11", "sID&quo ...

A solution for accessing computed properties within a v-for loop

Currently, I am facing a challenge with the code provided below. It seems that computed properties do not support parameters. Do you happen to have any suggestions on how to overcome this issue? I am considering using watchers on functions but I am also ...

I am facing an issue where my Vue root file/component is not appearing in my Laravel project

I have been working through a tutorial that covers creating a Laravel + Vue CRUD application and I have encountered an issue with getting Vue to show up in the Laravel welcome blade. Here is a snippet of my code: app.js file require('./bootstrap&apo ...

How to use jQuery to select an element by using 'this' on a button

I have a total of 5 divs, each containing 5 different texts. <div class="text"> <%= theComment.text %> </div> I am working with node.js, MongoDB, and Mongoose. In addition to the divs, I also have a button labeled EDIT with a cl ...

React: The peculiar contradiction of useEffect with eventHandler props

Having trouble with this specific example. The issue arises with an Input component that includes an onChange prop to manage internal data changes. Under normal circumstances, if the value is updated externally, the onChange prop does not trigger since t ...

Transferring variables from EJS to JavaScript on render (server to client) securely to prevent cross-site scripting vulnerabilities

When passing variables to JavaScript using ejs, the accepted method often looks like this: <script> var foo = <%- JSON.stringify(foo) %>; </script> However, there have been issues with XSS vulnerabilities using this approach. Is there ...

showing the values stored in local storage

My goal is to show only the values stored in local storage, excluding the key value that displays all data after submitting the login form. welcome <span id="demo"></span>; <script> document.getElementById('demo').innerHTML = ...

Vue-router: I prefer to selectively choose routes for generating a dynamic loop of <router-link> components

I have successfully implemented a dynamic sidebar navigation list using router-link. <template> <div class="sidebarListItem bg-light"> <router-link v-for="route in $router.options.routes" :key="rout ...