javascript - How to output the number 2.00 as a complete string? -


before this, want sorry. not duplicate. answer on other posting has same problem. no float or int in js (only number). when make isint() function, 2.00 detected true integer. want 2.00 detected float. so, have stringify first.

function isint(i) {     if ( i.tofixed ) {         if ( % 1 === 0 ) {             return true; // problem 2.00 detected true integer.              // want 2.00 detected float         } else {             return false;         }     } else {         return false;     } } 

then think stringify 2.00 , split split('.') . tostring doesn't it

var = 2.00; alert(i.tostring());  // why result 2 . want character behind point 

so, how that? want 2.00 result "2.00" , not "2"

thank answering

answer revision:

within javascript there absolutely no way distinguish between 2 2.0 , 2.000. therefore, never without additional decimal place supplied, able detect var = 2.00 2 ever other integer (per method) after it's been assigned.

case in point, despite [misleading] built-in methods:

typeof parseint('2.00', 10) == typeof parsefloat('2.00')                    'number' == 'number'                         /* true */ 

original answer:

javascript doesn't have hard-based scalar types, number. reason, , because have 1 significant figure, javascript taking 2.00 , making "integer" [used loosly] (therefore no decimal places present). javascript: 2 = 2.0 = 2.00 = 2.00000).

case in point, if gave number 12.000000000000 , asked remember , give week now, spend time remember how many zeros there were, or focus on fact handed number 12? (twelve takes lot less effort remember twelve many decimal places)

as far int vs float/double/real, you're describing type of number perspective , not javascript's. think of calling number in javascript int giving label , not definition. outline:

value:     javascript:    us: ------     --------------    ------ 1          number            integer 1.00       number            decimal 1.23       number            decimal 

no matter may classify as, javascript still sees number.

if need keep decimal places, number.tofixed(n) going best bet.

for example:

// 1 sig-fig var = 2.00; console.log(''+a);             // 2 console.log(a.tofixed(2));     // 2.00  // 3 sig-figs var b = 2.01 console.log(''+b);            // 2.01 console.log(b.tofixed(2));    // 2.01 

btw, prefixing var ''+ same calling .tostring(), it's cast shorthand. same outcome result if had used a.tostring() or b.tostring()


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -