


Lösung für das Problem des Präzisionsverlusts in js Additions-, Subtraktions-, Multiplikations- und Divisionskenntnissen
Wenn Sie in JavaScript Dezimalzahlen für Addition, Subtraktion, Multiplikation und Division verwenden, werden Sie feststellen, dass auf die Ergebnisse manchmal eine lange Dezimalzahl folgt, was die Operation verkompliziert und sich auf die Berechnungsergebnisse auswirkt. Ich habe online nach den Gründen gesucht und Folgendes gefunden: In JavaScript gibt es bei der Berechnung von Daten mit Dezimalzahlen immer viele Dezimalstellen. Dies liegt daran, dass die Berechnung von Gleitkommazahlen in JavaScript auf binären Berechnungen basiert.
/**
* Additionsoperation, um mehrere Ziffern und einen Verlust der Berechnungsgenauigkeit zu vermeiden, nachdem der Dezimalpunkt zu den Daten hinzugefügt wurde.
*
* @param num1 addend 1 |*/
function numAdd(num1, num2) {
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length; >} Catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length Catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2)); baseNum;
};
/**
* Additionsoperation zur Vermeidung mehrerer Ziffern und des Verlusts der Berechnungsgenauigkeit nach dem Hinzufügen von Dezimalstellen von Daten.
*
* @param num1 minuend |*/
function numSub(num1, num2) {
var baseNum, baseNum1, baseNum2;
var precision;// precision
try {
baseNum1 = num1.toString().split(".")[1].length;
} Catch (e) {
baseNum1 = 0; {
baseNum2 = num2.toString(".")[1].length;
} Catch (e) {
baseNum2 = 0;
}
baseNum = Math .pow( 10, Math.max(baseNum1, baseNum2));
precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2;
return ((num1 * baseNum - num2 * baseNum)). toFixed(precision );
};
/**
* Multiplikationsoperation zur Vermeidung mehrerer Ziffern und Verlust der Berechnungsgenauigkeit nach der Multiplikation von Daten mit Dezimalpunkt.
*
* @param num1 Multiplikator |*/
function numMulti(num1, num2) {
var baseNum = 0;
try {
baseNum = num1.toString ().split(".")[1].length;
} Catch (e) {
}
try {
baseNum = num2.toString().split(" .") [1].length;
} Catch (e) {
}
return Number(num1.toString().replace(".", "")) * Number(num2.toString (). replace(".", "")) / Math.pow(10, baseNum>}
/**
* Divisionsoperation zur Vermeidung mehrerer Ziffern und Verlust der Berechnungsgenauigkeit nach der Division der Daten durch Dezimalpunkt.
*
* @param num1 Dividende |*/
function num1, num2) {
var baseNum1 = 0, baseNum2 = 0;
var baseNum3, baseNum4;
try {
baseNum1 = num1.toString().split(".")[1].length; >} Catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length Catch (e) {
baseNum2 = 0;
}
with (Math) {
baseNum3 = Number(num1.toString().replace(".", "")); >baseNum4 = Number(num2.toString().replace(".", ""));

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

Benutzerdefinierte Google -Search -API -Setup -Tutorial

JQuery fügen Sie Scrollbar zu Div hinzu
