2

I want to multiply these two values ​​of type string

values 1 = "$10.99"

values 2 = "$20.8"

var x = document.getElementById("Text1");
var y = document.getElementById("Text2");
var tointx = x.Value
var tointy = y.Value
var z = tointx * tointy
var result = z.reduc((r, e) => r + +e.replace(',', '.'), 0)
alert(result);
<input id="Text1" value="$10.99" />

<input id="Text2" value="$20.8" />
mplungjan
  • 169,008
  • 28
  • 173
  • 236
Ahmad Ali
  • 43
  • 3

3 Answers3

3

Several things

  1. .value JS is case sensitive
  2. $ sign needs to go
  3. reduce is misspelled too but not needed
  4. Are you sure you want ints?

const x = document.getElementById("Text1").value;
const y = document.getElementById("Text2").value;
let tofloatx = +x.slice(1); // unary plus will convert to number but so will multiplication
let tofloaty = +y.slice(1)
let z = tofloatx * tofloaty
console.log("float",z,"int",Math.round(z))
<input id="Text1" value="$10.99" />

<input id="Text2" value="$20.8" />
mplungjan
  • 169,008
  • 28
  • 173
  • 236
2

Is this what you needed?

let x = "$10.99"
let y = "$20.8"
let moneyToNb = function(money) {return Number(money.replace("$",""))}
let intX = moneyToNb(x)
let intY = moneyToNb(y)
let z = Math.floor(intX*intY)
console.log(z);
Jip Helsen
  • 1,034
  • 4
  • 15
  • 30
2

multiplyFields();

function multiplyFields( ) {
 var x = Text1.value,
     y = Text2.value,
     z = x.match( /[0-9.]+/ ) * y.match( /[0-9.]+/ );

    alert( z );
}
<input id=Text1 value=$10.99 >
<input id=Text2 value=$20.80 >
Bekim Bacaj
  • 5,707
  • 2
  • 24
  • 26