如何生成具有 N 位小数的数字范围

问题描述 投票:0回答:7

我需要生成一个大数组,范围从 0.00 到 10000000.00 IE 0.01 0.02 0.03 ... 1.51 1.52 1.583 ...等等

环顾四周后,我尝试了这个答案,它适用于整数,但不适用于小数

javascript arrays decimal
7个回答
2
投票

你没有指定语言,所以我将使用Python。

import numpy as np

numbers = np.arange(0, 10000000.01, 0.01)

# Print first 10 elements
print(numbers[:10])

# Print last 10 elements
print(numbers[-10:])


1
投票

一个简单的方法,试试这个:

let array = [];
for (let i = 0; i <= 1000000000; i++)
{
   array.push((i * 0.01).toFixed(2));
}

1
投票

在javascript中,你可以尝试:

let numbers = [];
for (let i = 0; i <= 10000000; i += 0.01) {
    numbers.push(parseFloat(i.toFixed(2))); //you can use toFixed(3) too if you want
}

请注意,创建这样一个非常大的数组将消耗大量内存,并可能导致性能问题。


0
投票
const arr = Array.from(new Array(10000000), (_, index) => (index / 100).toFixed(2));

console.log(arr);

使用此代码,您将获得问题中描述的数字数组,点后有 2 个数字:0.00、0.01 等。


0
投票

尝试以下方法

let array = [];
let val = 0.00;
do{
   val += 0.01;
   array.push(val);
}while(val<1000000000.00);

0
投票

你没有指定语言,所以我将使用Javascript。

要生成范围从 0.00 到 10000000.00 的大型数字数组,您可以使用循环在 JavaScript 中创建数组。这是实现该目的的示例代码:

function generateIncrementedNumbers(start, end, step) {
    const result = [];
    for (let i = start; i <= end; i += 0.01) {
        result.push(i.toFixed(2));
    }
    return result;
}

const startNumber = 0.0;
const endNumber = 10000000.0;

const largeArray = generateIncrementedNumbers(startNumber, endNumber);
console.log(largeArray);

0
投票

在 JavaScript 中

function generateNumberRange(start, end, decimalPlaces) {
  const step = 1 / Math.pow(10, decimalPlaces);
  const range = [];

  for (let num = start; num <= end; num += step) {
    range.push(parseFloat(num.toFixed(decimalPlaces)));
  }

  return range;
}

// Example usage:
const startValue = 0.00;
const endValue = 10000000.00;
const decimalPlaces = 2;

const resultArray = generateNumberRange(startValue, endValue, decimalPlaces);
console.log(resultArray);
© www.soinside.com 2019 - 2024. All rights reserved.