JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://github.com/downloads/SteveSanderson/knockout/knockout-1.2.0.js"></script>
<p>Enter a numeric value: <input data-bind="numericValue: someValue" /></p>
<p>Your value is: <span data-bind="text: someValue"></span></p>

JavaScript

ko.bindingHandlers.numericValue = {
    init : function(element, valueAccessor, allBindingsAccessor) {
        var underlyingObservable = valueAccessor();
        var interceptor = ko.dependentObservable({
            read: underlyingObservable,
            write: function(value) {
                if (!isNaN(value)) {
                    underlyingObservable(parseFloat(value));
                }                
            } 
        });
        ko.bindingHandlers.value.init(element, function() { return interceptor }, allBindingsAccessor);
    },  
    update : ko.bindingHandlers.value.update
};

var viewModel = {
    someValue : ko.observable(123)  
};
ko.applyBindings(viewModel);