3 votes

Comment concaténer . (point) avec un nombre en javascript ?

J'ai créé une calculette visuelle en utilisant le html et il ressemble à ceci

| 1  | 2  | 3 | 
| 4  | 5  | 6 | 
| 7  | 8  | 9 | 
|    | .  |   |

et nous avons créé une fonction appelée number() en cliquant sur chaque élément html et voilà

number(number)
{
    this.total_quantity_discount_price = this.total_quantity_discount_price+''+number;
    this.total_quantity_discount_price = parseFloat(this.total_quantity_discount_price);
},

avec des chiffres 0123456789 tout fonctionne bien mais mon problème avec le . comment puis-je ajouter . a this.total_quantity_discount_price Je veux dire comment ajouter le nombre 10.555 ou 55.648 etc. Merci.

2voto

Boussadjra Brahim Points 12045

Utilice Number comme

this.total_quantity_discount_price = Number(this.total_quantity_discount_price+''+number);

let n=Number(4+'.'+5)
// the n is a number which you could add it to another
console.log(n)
console.log(n+1)
console.log(n-3)

1voto

Namysh Points 820

Vous pouvez utiliser le + opérateur comme celui-ci :

const n = '4' + '.' + '3' + '4';

console.log(+n);
console.log(+n + 1);
console.log(+n - 1);

Votre fonction deviendra quelque chose comme :

function number(number){
  this.total_quantity_discount_price = +(this.total_quantity_discount_price + '' + number);
}

1voto

Ifaruki Points 10429

Vous pouvez concaténer le tout et l'analyser avec new Function()

let result = "";
let calc = document.getElementById("calculation");
let output = document.getElementById("result");
document.querySelectorAll("button").forEach(el => {
   el.addEventListener("click", ()=> {
      result += el.innerHTML;
      output.innerHTML = result;
   })
})

function render() {
   let calcResult = interprete(result);
   output.innerHTML = calcResult;
}

function getResult() {
   output.innerHTML = interprete(result);
}

function clearResult() {
   output.innerHTML = "";
   result = "";
}
function back () {
   result = result.slice(0, -1);
   output.innerHTML = result;
}
function interprete(str) {
   return new Function(`return ${str}`)()
}

.buttonholder {
   display: flex;
   flex-flow: wrap;
   width: 170px;
}

button {
   display: block;
   margin: 2px;
   padding: 15px;
}

.box {
   cursor: pointer;
   background: black;
   color: white;
   padding: 10px;
   margin: 10px;
}

#result {
   background: green;
   color: white;
   padding: 10px;
}

<div class="buttonholder">
<button>1</button>
<button>2</button>
<button>3</button>
<button>4</button>
<button>5</button>
<button>6</button>
<button>7</button>
<button>8</button>
<button>9</button>
<button>.</button>
<button>+</button>
<button>-</button>
<button>*</button>
<button>/</button>
</div>
<div class="box" onclick="back()"> <== </div>
<p id="result"></p>
<div class="box" onclick="getResult()">=</div>
<p id="calculation"></p>
<div class="box" onclick="clearResult()">Clear</div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X