Why does 0.-5 evaluate to -5?var functionName = function() {} vs function functionName() {}Difference between...

Why is it that Bernie Sanders is always called a "socialist"?

Other than edits for international editions, did Harry Potter and the Philosopher's Stone receive errata?

How do you get out of your own psychology to write characters?

Are all power cords made equal?

Is the fingering of thirds flexible or do I have to follow the rules?

Why do neural networks need so many examples to perform?

Create linguistic diagram (in TikZ?)

Does the US government have any planning in place to ensure there's no shortages of food, fuel, steel and other commodities?

Is Screenshot Time-tracking Common?

What does an unprocessed RAW file look like?

How do dictionaries source attestation?

How to not let the Identify spell spoil everything?

Is the percentage symbol a constant?

Why did Ylvis use "go" instead of "say" in phrases like "Dog goes 'woof'"?

Count repetitions of an array

How do I add a strong "onion flavor" to the biryani (in restaurant style)?

Besides PR credit, does diversity provide anything that meritocracy does not?

Minimum Viable Product for RTS game?

Is `Object` a function in javascript?

Does it take energy to move something in a circle?

why typing a variable (or expression) prints the value to stdout?

Why is "rm -r" unable to delete this folder?

Insecure private-key encryption

When using Volatility with a memory image, what is the Kernel version?



Why does 0.-5 evaluate to -5?


var functionName = function() {} vs function functionName() {}Difference between == and === in JavaScriptHow does JavaScript .prototype work?What does “use strict” do in JavaScript, and what is the reasoning behind it?Storing Objects in HTML5 localStorageWhat is JSONP all about?Why does Google prepend while(1); to their JSON responses?How to print a number with commas as thousands separators in JavaScriptIs it possible to apply CSS to half of a character?Can (a== 1 && a ==2 && a==3) ever evaluate to true?













10















Suppose I write 0.5 as 0.-5 in unexpected way, but it can still run. What does 0. in 0.-5 do so that it can still run and evaluates to -5?



I also tried alert(0.-5+1) which prints -4, does JavaScript ignore 0. in 0.-5?










share|improve this question




















  • 3





    0. is like 0.0. Or just 0.

    – Ry-
    6 hours ago













  • What makes you think that 0.-5 is an "unexpected way"?

    – Nico Haase
    34 mins ago











  • @NicoHaase: I'm pretty sure the OP used "unexpected way" to mean "I did not intend/expect to write that, but somehow I did".

    – Filip Milovanović
    7 mins ago
















10















Suppose I write 0.5 as 0.-5 in unexpected way, but it can still run. What does 0. in 0.-5 do so that it can still run and evaluates to -5?



I also tried alert(0.-5+1) which prints -4, does JavaScript ignore 0. in 0.-5?










share|improve this question




















  • 3





    0. is like 0.0. Or just 0.

    – Ry-
    6 hours ago













  • What makes you think that 0.-5 is an "unexpected way"?

    – Nico Haase
    34 mins ago











  • @NicoHaase: I'm pretty sure the OP used "unexpected way" to mean "I did not intend/expect to write that, but somehow I did".

    – Filip Milovanović
    7 mins ago














10












10








10


2






Suppose I write 0.5 as 0.-5 in unexpected way, but it can still run. What does 0. in 0.-5 do so that it can still run and evaluates to -5?



I also tried alert(0.-5+1) which prints -4, does JavaScript ignore 0. in 0.-5?










share|improve this question
















Suppose I write 0.5 as 0.-5 in unexpected way, but it can still run. What does 0. in 0.-5 do so that it can still run and evaluates to -5?



I also tried alert(0.-5+1) which prints -4, does JavaScript ignore 0. in 0.-5?







javascript numbers






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 14 mins ago









Community

11




11










asked 6 hours ago









mmmaaammmaaa

2,2431312




2,2431312








  • 3





    0. is like 0.0. Or just 0.

    – Ry-
    6 hours ago













  • What makes you think that 0.-5 is an "unexpected way"?

    – Nico Haase
    34 mins ago











  • @NicoHaase: I'm pretty sure the OP used "unexpected way" to mean "I did not intend/expect to write that, but somehow I did".

    – Filip Milovanović
    7 mins ago














  • 3





    0. is like 0.0. Or just 0.

    – Ry-
    6 hours ago













  • What makes you think that 0.-5 is an "unexpected way"?

    – Nico Haase
    34 mins ago











  • @NicoHaase: I'm pretty sure the OP used "unexpected way" to mean "I did not intend/expect to write that, but somehow I did".

    – Filip Milovanović
    7 mins ago








3




3





0. is like 0.0. Or just 0.

– Ry-
6 hours ago







0. is like 0.0. Or just 0.

– Ry-
6 hours ago















What makes you think that 0.-5 is an "unexpected way"?

– Nico Haase
34 mins ago





What makes you think that 0.-5 is an "unexpected way"?

– Nico Haase
34 mins ago













@NicoHaase: I'm pretty sure the OP used "unexpected way" to mean "I did not intend/expect to write that, but somehow I did".

– Filip Milovanović
7 mins ago





@NicoHaase: I'm pretty sure the OP used "unexpected way" to mean "I did not intend/expect to write that, but somehow I did".

– Filip Milovanović
7 mins ago












2 Answers
2






active

oldest

votes


















18














Trailing digits after a . are optional:






console.log(0. === 0);





So



0.-5


evalutes to



0 - 5


which is just -5. Similarly,



0.-5+1


is



0 - 5 + 1


which is



-5 + 1


or -4.






share|improve this answer































    2














    In JS you can express a number with optional decimal point.



    x = 5.;    //5
    x = 5. + 6. //11


    And as of Tvde1's comment, any Number methods can be applied too.



    5..toString()





    share|improve this answer





















    • 1





      You can even do 5..toString().

      – Tvde1
      3 hours ago











    • If fact, you have to do 5..toString() to call the method, otherwise, you have to use parenthesis: (5).toString()

      – jo_va
      12 mins ago











    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54859228%2fwhy-does-0-5-evaluate-to-5%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    18














    Trailing digits after a . are optional:






    console.log(0. === 0);





    So



    0.-5


    evalutes to



    0 - 5


    which is just -5. Similarly,



    0.-5+1


    is



    0 - 5 + 1


    which is



    -5 + 1


    or -4.






    share|improve this answer




























      18














      Trailing digits after a . are optional:






      console.log(0. === 0);





      So



      0.-5


      evalutes to



      0 - 5


      which is just -5. Similarly,



      0.-5+1


      is



      0 - 5 + 1


      which is



      -5 + 1


      or -4.






      share|improve this answer


























        18












        18








        18







        Trailing digits after a . are optional:






        console.log(0. === 0);





        So



        0.-5


        evalutes to



        0 - 5


        which is just -5. Similarly,



        0.-5+1


        is



        0 - 5 + 1


        which is



        -5 + 1


        or -4.






        share|improve this answer













        Trailing digits after a . are optional:






        console.log(0. === 0);





        So



        0.-5


        evalutes to



        0 - 5


        which is just -5. Similarly,



        0.-5+1


        is



        0 - 5 + 1


        which is



        -5 + 1


        or -4.






        console.log(0. === 0);





        console.log(0. === 0);






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 6 hours ago









        CertainPerformanceCertainPerformance

        88.9k154877




        88.9k154877

























            2














            In JS you can express a number with optional decimal point.



            x = 5.;    //5
            x = 5. + 6. //11


            And as of Tvde1's comment, any Number methods can be applied too.



            5..toString()





            share|improve this answer





















            • 1





              You can even do 5..toString().

              – Tvde1
              3 hours ago











            • If fact, you have to do 5..toString() to call the method, otherwise, you have to use parenthesis: (5).toString()

              – jo_va
              12 mins ago
















            2














            In JS you can express a number with optional decimal point.



            x = 5.;    //5
            x = 5. + 6. //11


            And as of Tvde1's comment, any Number methods can be applied too.



            5..toString()





            share|improve this answer





















            • 1





              You can even do 5..toString().

              – Tvde1
              3 hours ago











            • If fact, you have to do 5..toString() to call the method, otherwise, you have to use parenthesis: (5).toString()

              – jo_va
              12 mins ago














            2












            2








            2







            In JS you can express a number with optional decimal point.



            x = 5.;    //5
            x = 5. + 6. //11


            And as of Tvde1's comment, any Number methods can be applied too.



            5..toString()





            share|improve this answer















            In JS you can express a number with optional decimal point.



            x = 5.;    //5
            x = 5. + 6. //11


            And as of Tvde1's comment, any Number methods can be applied too.



            5..toString()






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited 42 mins ago

























            answered 5 hours ago









            Charlie HCharlie H

            9,05342550




            9,05342550








            • 1





              You can even do 5..toString().

              – Tvde1
              3 hours ago











            • If fact, you have to do 5..toString() to call the method, otherwise, you have to use parenthesis: (5).toString()

              – jo_va
              12 mins ago














            • 1





              You can even do 5..toString().

              – Tvde1
              3 hours ago











            • If fact, you have to do 5..toString() to call the method, otherwise, you have to use parenthesis: (5).toString()

              – jo_va
              12 mins ago








            1




            1





            You can even do 5..toString().

            – Tvde1
            3 hours ago





            You can even do 5..toString().

            – Tvde1
            3 hours ago













            If fact, you have to do 5..toString() to call the method, otherwise, you have to use parenthesis: (5).toString()

            – jo_va
            12 mins ago





            If fact, you have to do 5..toString() to call the method, otherwise, you have to use parenthesis: (5).toString()

            – jo_va
            12 mins ago


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54859228%2fwhy-does-0-5-evaluate-to-5%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Szabolcs (Ungheria) Altri progetti | Menu di navigazione48°10′14.56″N 21°29′33.14″E /...

            Discografia di Klaus Schulze Indice Album in studio | Album dal vivo | Singoli | Antologie | Colonne...

            How to make inet_server_addr() return localhost in spite of ::1/128RETURN NEXT in Postgres FunctionConnect to...