在 JavaScript 中查找数字各位的乘积


我们需要编写一个 JavaScript 程序,该程序接收一个数字并找到其所有数字的乘积。

输入输出场景

假设有一个数字分配给一个变量,任务是找到该数字的乘积。

Input = 12345; 
Output = 120

让我们看看另一个场景,我们将字符串数字转换为整数值并将其相乘。

Input = "12345"; 
Output = 120 

Math.floor()

Math.floor() 函数在 JavaScript 中返回小于等于给定数字的最大整数。简单来说,此方法将数字向下舍入到最接近的整数。以下是Math.floor() 方法的语法:

Math.floor(x)

为了更好地理解,请考虑以下代码片段,在这里我们为该方法提供各种输入值。

Math.floor(10.95);  //  10 
Math.floor(10.05);  //  10 
Math.floor(10)      //  10 
Math.floor(-10.05); // -10 
Math.floor(-10.95); // -1

示例 1

数字各位的乘积

在下面的示例中,我们有一个变量num保存 12345,我们创建了另一个变量 product 来存储数字的乘积(最初设置为 1)。

num不为 0 时,num 将除以 10,结果存储在product中。这里使用 Math.floor() 来消除最后一位数字。

<!DOCTYPE html> <html> <title>Product of number digits</title> <head> <p id = "para"></p> <script> var num = 12345; var product = 1; function func(){ while (num != 0) { product = product * (num % 10); num = Math.floor(num / 10); } document.getElementById("para").innerHTML = "The productduct of number digits is: " + product; }; func(); </script> </head> </html>

parseInt()

parseInt() 函数将解析字符串参数并返回一个整数值。

语法

以下是语法:

parseInt(string)

为了更好地理解,请考虑以下代码片段,在这里我们为该方法提供各种输入值。

parseInt("20")     // 20 
parseInt("20.00") //  20
parseInt("20.23") //  20 

示例

将字符串数字转换为整数

在下面的示例中,我们定义了一个字符串,其中包含一个整数值12345。使用 for 循环,我们遍历字符串的每个字符,使用parseInt()方法将其转换为整数值,并将结果值乘以一个变量(product:初始化为 1)。

<!DOCTYPE html> <html> <head> <title>Product of Number digits</title> <button onClick = "func()">Click me! </button> <p id = "para"> </p> <script> function func(){ let string = "12345"; let product = 1; let n = string.length; for (let x = 0; x < n; x++){ product = product * (parseInt(string[x])); } document.getElementById("para").innerHTML = product; }; </script> </head> </html>

示例

使用构造函数

在此示例中,我们创建了一个类的构造函数,并在构造函数内部,我们使用this关键字来调用立即对象,稍后我们将使用prompt()函数从用户那里获取输入。创建另一个变量pro来存储数字的乘积。最初将其设置为 1。当变量num的值不为 0 时,它将除以 10,结果存储在变量pro中。在这里,我们使用Math.floor()方法来消除最后一位数字。

<!DOCTYPE html> <html> <head> <title>Product of digits</title> </head> <body> <script> class Sum { constructor() { this.pro = 1; this.n = prompt("Enter a number:"); while (this.n != 0) { this.pro = this.pro * (this.n % 10); this.n = Math.floor(this.n / 10); } } } const res = new Sum(); document.write("Sum of Digit is = " + res.pro); </script> </body> </html>

更新于: 2022-09-23

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告