如何移动小数?

发布于 2024-11-03 04:32:24 字数 302 浏览 3 评论 0原文

在 JavaScript 中,我想定义小数点的位置。我只能用例子来展示它。

假设输入值为 1234
我希望输出为 123.4

或者,如果输入为 12345,我希望输出为 123.45

或者,如果输入为 123456,我希望输出为 123.456。你明白了。

澄清一下,我只想要小数点左侧的三位数字。总位数未知。

那么,如何才能做到这一点呢?

In JavaScript, I want to define where the decimal place goes. I can only really show it in example.

Lets say the input value is 1234.
I want the output to be 123.4.

Or, if the input is 12345, I want the output to be 123.45.

Or, if the input is 123456, I want the output to be 123.456. You get the picture.

To clarify, I just want three digits on the left side of the decimal. The total number of digits is unknown.

So, how could this be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

半仙 2024-11-10 04:32:24
var a = 5007;

// Where `1` below is the amount you want to move it.
a /= Math.pow(10, 1);

document.body.innerHTML = a; // 500.7

jsFiddle

var a = 5007;

// Where `1` below is the amount you want to move it.
a /= Math.pow(10, 1);

document.body.innerHTML = a; // 500.7

jsFiddle.

挽清梦 2024-11-10 04:32:24
var n = 1234;
var l = n.toString().length-3;
var v = n/Math.pow(10, l); // new value

3 是因为您希望前 3 位数字作为整体,因此基数会根据 n 的大小而变化。

function moveDecimal(n) {
  var l = n.toString().length-3;
  var v = n/Math.pow(10, l);
  return v;
}

尝试使用 1234、12345 和 123456。

var n = 1234;
var l = n.toString().length-3;
var v = n/Math.pow(10, l); // new value

The 3 is because you want the first 3 digits as wholes, so the base changes depending on the size of n.

function moveDecimal(n) {
  var l = n.toString().length-3;
  var v = n/Math.pow(10, l);
  return v;
}

Try it for 1234, 12345 and 123456.

雨后咖啡店 2024-11-10 04:32:24

123456 是 123.456 乘以 1000。这意味着您可以通过除法移动小数位:

var num1 = 1234 / 10;  //sets num1 to 123.4
var num2 = 12345 / 100;  //sets num2 to 123.45
var num3 = 123456 / 1000;  //sets num3 to 123.456

或者,如果您想以更通用的形式设置小数位数,您可以使用 Math.pow 函数:

var num3 = 123456 / Math.pow(10, 3);  //sets num3 to 123.456

123456 is 123.456 multiplied by 1000. That means you could move the decimal place over with divisions:

var num1 = 1234 / 10;  //sets num1 to 123.4
var num2 = 12345 / 100;  //sets num2 to 123.45
var num3 = 123456 / 1000;  //sets num3 to 123.456

Alternatively, if you want to set the number of decimal places in a more general form, you can use the Math.pow function:

var num3 = 123456 / Math.pow(10, 3);  //sets num3 to 123.456
那小子欠揍 2024-11-10 04:32:24

基本数学,只需将数字除以 10 即可向左侧移动 1 个小数点。并乘以 10 进行相反的操作。

“假设输入值为 1234。我希望输出为 123.4”

1234 / 10 = 123.4

“或者,如果输入为 12345,我希望输出为 123.45”

12345 / 100 = 123.45

Basic maths, just divide the number by 10 to move 1 decimal case towards the left side. And multiply by 10 to do the opposite.

"Lets say the input value is 1234. I want the output to be 123.4"

1234 / 10 = 123.4

"Or, if the input is 12345, I want the output to be 123.45"

12345 / 100 = 123.45

葮薆情 2024-11-10 04:32:24

计算出您想要将小数点向左移动多少位,然后将您的数字除以 10 的该数字次方:

123.456=123456/(10^3)

其中 ^ 是求幂。

Figure out how many places you want to move the decimal point to the left and divide your number by 10 to the power of that number:

123.456=123456/(10^3)

Where ^ is raise to the power.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文