15 lines
567 B
JavaScript
15 lines
567 B
JavaScript
|
var global = require('../internals/global');
|
||
|
var trim = require('../internals/string-trim').trim;
|
||
|
var whitespaces = require('../internals/whitespaces');
|
||
|
|
||
|
var $parseFloat = global.parseFloat;
|
||
|
var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
|
||
|
|
||
|
// `parseFloat` method
|
||
|
// https://tc39.github.io/ecma262/#sec-parsefloat-string
|
||
|
module.exports = FORCED ? function parseFloat(string) {
|
||
|
var trimmedString = trim(String(string));
|
||
|
var result = $parseFloat(trimmedString);
|
||
|
return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
|
||
|
} : $parseFloat;
|