formatting rules for numbers in knockoutjs
http://stackoverflow.com/questions/7704268/formatting-rules-for-numbers-in-knockoutjs
by rniemeyer
HTML
<script src="http://knockoutjs.com/downloads/knockout-2.2.1.js"></script>
<script src="https://rawgithub.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.debug.js"></script>
<div data-bind="numericText: myValue"></div>
<div data-bind="numericText: myValue, precision: 3"></div>
<div data-bind="numericText: myValue, precision: myPrecision"></div>
<input data-bind="value: myPrecision" />
JavaScript
ko.bindingHandlers.numericText = {
update: function(element, valueAccessor, allBindingsAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor()),
precision = ko.utils.unwrapObservable(allBindingsAccessor().precision) || ko.bindingHandlers.numericText.defaultPrecision,
formattedValue = value.toFixed(precision);
ko.bindingHandlers.text.update(element, function() { return formattedValue; });
},
defaultPrecision: 1
};
var viewModel = {
myValue: ko.observable(123.55454),
myPrecision: ko.observable(4)
};
ko.applyBindings(viewModel);