将整数更改为十进制而不是添加或减去

时间:2016-03-22 14:10:42

标签: javascript jquery

大家好,所以我有一个数据库设置了不同成分的值,每个值都是一个整数,所以芒果在数据库中有2个值。我决定我实际上需要使用十进制数字,所以芒果现在有0.2值。问题是,一旦我改变它我的加法和减法已完全停止工作。

我的直播网站在这里:这是使用整数: http://diet.elementalbydesign.com/bootstrap-3.3.6-dist/build.php

你可以在脂肪标签内的右侧看到它如何增加和减去以下值: 苹果,香蕉,芒果,甜瓜等。

然而就像我上面在我的数据库中所说的那样,我将它从整数改为小数,因为我需要它以这种方式工作,但现在我不能像以前那样添加或减去。

在我的数据库中我将​​脂肪设置为十进制(2,1)。大多数营养看起来像0.4 0.2等。

JS:

$(document).ready(function(){
    var current_fat = 0;

     $('.searchFunction').keyup( function( event ) {
            if(event.keyCode != 8 && event.keyCode != 46) {
                var search_term = $("#search_term").val();
                if(search_term != '') {
                    $.get( 'build.php', { search_term:search_term }, function( data ) {
                    $('.result').html( data );    
                    });
                }
            }
        });


        $('.result').on('click', 'li', function( event ) {
            var result_value = $(this).text();
            $('#search_term').val(result_value);
            $('.result').html('');
        });

        $('#addButton').on('click', function( event ) {
            if($('#search_term').val() ==''){
                alert('please fill something in text box'); 
            }else{ 
                    var searchedValue = $('#search_term').val(); 
                    temp = $("#fat").text(); 
                    temp = parseInt(temp);

                   $.post( 'build.php', { 'search_term':searchedValue, 'current_fat':temp }, function(data) {

                    $('#fat').text( parseInt( $('#fat').text( ) ) + parseInt( data ) )

                    var divHolder = $('.selectedStuff');
                    $("<div>" + searchedValue + "<span data-fat='"+data+"' data-itemfat='"+data+"'>X</span></div>").css({
                                'background-color': 'yellow',
                                'width': '700px',
                                'margin-top': '10px',
                                'border-style': 'solid',
                                'border-color': '#0000ff'
                            }).appendTo(divHolder);
                   }); 
                        }
        });
                            $('.selectedStuff').on("click", 'span', function(){
                        var curr_fat = parseInt($("#fat").html()), 
                        toberemovedfat = parseInt($(this).attr('data-fat')); 
                        curr_fat = curr_fat - toberemovedfat; 
                        $("#fat").html(curr_fat); 
                        $(this).parent().remove(); 
                        });     
            });

对此问题的任何帮助都将是一个很大的帮助

谢谢

1 个答案:

答案 0 :(得分:2)

您需要将parseInt切换为parseFloat。 Int用于整数,但浮点数可以是整数或十进制数:

                $('#fat').text( (parseFloat( $('#fat').text( ) ) + parseFloat( data )).toFixed(2) )

                    toberemovedfat = parseFloat($(this).attr('data-fat'));