NameHere
Admiral
- Registriert
- Sep. 2013
- Beiträge
- 7.379
Hallo,
ich habe vor einigen Jahren mit einem Bekannten ein Rechner geschrieben. Wobei er den meisten Part von den Javascript Variablen geschrieben hat.
Jetzt ist es so das der Rechner nur 0,10 als kleinste Zahl nimmt und Werte wie 0,05 in 0,50 umwandelt.
Vielleicht weis jemand welche Werte ich ändern muss damit der Rechner auch Werte korrekt ausspuckt.
Mein Bekannter ist leider in der nächsten Zeit nicht greifbar, da im Ausland.
Danke im voraus ;-)
ich habe vor einigen Jahren mit einem Bekannten ein Rechner geschrieben. Wobei er den meisten Part von den Javascript Variablen geschrieben hat.
Jetzt ist es so das der Rechner nur 0,10 als kleinste Zahl nimmt und Werte wie 0,05 in 0,50 umwandelt.
Vielleicht weis jemand welche Werte ich ändern muss damit der Rechner auch Werte korrekt ausspuckt.
Mein Bekannter ist leider in der nächsten Zeit nicht greifbar, da im Ausland.
Code:
var inputFields = document.getElementById('costs').getElementsByTagName('input');
var classNames = new Array();
String.prototype.trim = function()
{
return this.replace(/^\s*(\S+)\s*$/, '$1');
}
for(var i = 0; i < inputFields.length; i++)
{
inputFields[i].onblur = function()
{
if(!this.value) this.value = 0;
this.value = this.value.replace(/^\$?\s*[0$]?\s*\$?(\S+)\s*$/, '$1').replace(',','');
if(isNaN(this.value) || !this.value.match(/^\d{1,3}([,]?\d{3})*(\.\d+)?$/)) flagError(this);
else this.className = this.className.replace(/\s*data_error/, '');
switch(this.className)
{
case 'cents':
while(this.value.length < 2) { this.value += '0'; }
break;
case 'floating_point':
var fieldID = this.getAttribute('id');
if((fieldID == 'print_rate' && this.value > 1000) // Adjust to actual maximum
|| (fieldID == 'printing_hours' && (this.value == 0 || this.value > 24))
|| (fieldID == 'working_days' && (this.value == 0 || this.value > 31))
|| (fieldID == 'waste_dollars' && this.value > 100))
{
flagError(this);
}
break;
default: // Whole dollars
this.value = !this.value ? 0 : parseInt(this.value);
break;
}
}
}
Danke im voraus ;-)
Zuletzt bearbeitet: