You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
950 B
22 lines
950 B
var global = require('../internals/global'); |
|
var fails = require('../internals/fails'); |
|
var uncurryThis = require('../internals/function-uncurry-this'); |
|
var toString = require('../internals/to-string'); |
|
var trim = require('../internals/string-trim').trim; |
|
var whitespaces = require('../internals/whitespaces'); |
|
|
|
var charAt = uncurryThis(''.charAt); |
|
var n$ParseFloat = global.parseFloat; |
|
var Symbol = global.Symbol; |
|
var ITERATOR = Symbol && Symbol.iterator; |
|
var FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity |
|
// MS Edge 18- broken with boxed symbols |
|
|| (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); })); |
|
|
|
// `parseFloat` method |
|
// https://tc39.es/ecma262/#sec-parsefloat-string |
|
module.exports = FORCED ? function parseFloat(string) { |
|
var trimmedString = trim(toString(string)); |
|
var result = n$ParseFloat(trimmedString); |
|
return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result; |
|
} : n$ParseFloat;
|
|
|