Я использую следующие строки для изменения значения некоторых переменных, взятых из пользовательского ввода. Это позволяет мне изменить ,
на .
(необходимо для операций с плавающей запятой).
va
, vcc
и consumo
- переменные.
consumo = consumo.replace(",",".");
va = va.replace(",",".");
vcc = vcc.replace(",",".");
Тогда я решил сделать функцию для сохранения кодов строк, поэтому я создал это:
function comaAPunto(n1,n2,n3){
n1 = n1.replace(",",".");
n2 = n2.replace(",",".");
n3 = n3.replace(",",".");
}
И код теперь выглядит как comaAPunto(consumo,va,vcc);
Но теперь я получил эту ошибку, когда Я запускаю код.
Uncaught TypeError: n1.replace не является функцией
Знаете почему? Когда внутри функции не работает, но вне ее, она работает.
Как запрос, я отправляю полный код:
<script>
$(document).ready(function(){
var vcc;
var va;
var consumo;
var r1;
var r2;
$('#calcular').click(calcularvalores);
/*Para seleccionar todos los text box*/
function seleccionar(){
this.select();
}
$('#consumo').click(seleccionar); //Select all text
$('#vcc').click(seleccionar);
$('#a').click(seleccionar);
$('#consumo').keyup(calcularvalores); // WHen user change value
$('#vcc').keyup(calcularvalores);
$('#a').keyup(calcularvalores);
function getvalores(){ //Take what user types
vcc = document.getElementById("vcc").value;
va = document.getElementById("a").value;
consumo = document.getElementById("consumo").value;
}
function valores(){ // Parse it to float
vcc = parseFloat(vcc);
va = parseFloat(va);
consumo = parseFloat(consumo);
}
function verificar(checkthis){ //Check if stil NaN
if (isNaN(checkthis)){
return false;
} else{
return true;
}
}
function comaAPunto(t1,t2,t3){ // Change , to .
t1 = t1.replace(",",".");
t2 = t2.replace(",",".");
t3 = t3.replace(",",".");
}
function calcularvalores(){
getvalores(); // Get user input
comaAPunto(va,vcc,consumo); // <-- Error here tryng to change "," to "."
valores(); // Parsing values to float.
/* Ecuations implemented */
consumo = consumo/1000; //Lo convertimos en mA.
r2 = va/consumo;
r1 = (vcc-va)/consumo;
/* FInish ecuations */
var isok = verificar(va); //Look if user didnt leave it blank or with text inside it.
if(isok){
var isreally = verificar(consumo); //Look if fill blank another space.
if(isreally){
$('#r11').html("<p>"+r1+"</p>"); //Print values if okay
$('#r22').html("<p>"+r2+"</p>");
} else{
$('#r11').html("<p>Ingresa corriente</p>");
$('#r22').html("<p>Ingresa corriente</p>");
}
} else{
$('#r11').html("<p>Calculando</p>");
$('#r22').html("<p>Calculando</p>");
}
}
});
</script>