Replace numbers in Javascript
I have this string: £0,00
Which i want to replace with float 3.95 for instance. But i want to keep the £ and the ","
So result -> £3,95
How would i do it?
--
Added some details:
Will the currency symbol always be a £?
The currency symbol might be before and sometimes behind the numbers. ie 0,00 krWill the separator always be ,, or might it be . or even an arbitrary character?
The separator might be . sometimes.Will there always be two decimal places?
The decimal will always be 2 places.How ma开发者_如何学Pythonny integer digits might there be, and will there be a thousands separator?
It will not be above 100.function convert (proto, value) {
return proto.replace (/0(.)00/, function (m, dp) {
return value.toFixed (2).replace ('.', dp);
});
}
the proto parameter specifies the format, it must have a sub-string consisting of a single 0 digit followed by any character followed by two 0 digits, this entire sub-string is replaced by the numeric value parameter replacing the decimal point with the character between the 0 digits in the proto.
<script type="text/javascript">
function Convert(Value) {
return '£' + Value.toString().replace('.', ',');
}
alert(Convert(3.95));
</script>
Regular expression /(\D*)\s?([\d|.|,]+)\s?(\D*)/
will return an array with following values:
- [0] = whole string (eg "£4.30"
- [1] = prefix (eg. "£")
- [2] = numerical value (eg. "4.30")
- [3] = suffix (eg. "kr")
Usage: var parts = /(\D*)\s?([\d|.|,]+)\s?(\D*)/.exec(myValue);
It also handles cases where either prefix or suffix has following or leading space.
And whenever you need to replace the comma from number, just use the value.replace(",",".") method.
精彩评论