在javascript中反转十进制数字

如何解决在javascript中反转十进制数字

| 如何使用按位反转数字? 输入:
x = 123; 
输出:
x = 321; 
怎么做?     

解决方法

        如果要进行简单的冲销:
var x = 123;
var y = x.toString();
var z = y.split(\"\").reverse().join(\"\");
var aa = Number(z);
document.write(aa);
http://jsfiddle.net/jasongennaro/gV39e/     ,        那不是反转位;颠倒了十进制数字的顺序,这是完全不同的。这是一种方法:
var x = 123;
var y = 0;
for(; x; x = Math.floor(x / 10)) {
    y *= 10;
    y += x % 10;
}
x = y;
如果您确实想反转位,则:
x = ~x;
作为功​​能:
function reverse(n) {
    for(var r = 0; n; n = Math.floor(n / 10)) {
        r *= 10;
        r += n % 10;
    }
    return r;
}
    ,        这是另一种方式
var reversed = num.toString().split(\'\').reverse().join(\'\');
jsFiddle。 如果您想再次将其作为it7 use,请使用
parseInt(reversed,10)
。但是请记住,前9个小数在十进制数中并不重要,如果转换为7个,将会丢失它们。     ,           您也使用此功能
function myfunction(a){
   var x=a.toString();
   var y= x.split(\"\");
   var z=y.reverse();
   var result=z.join(\"\");
     return result;
} myfunction(123);     ,        简单快速的解决方案:假设您要反转一个数字4546。将每个除数除以10,然后将其附加到结果中,直到数字>0。然后通过除以更新num变量到10点
var x = \'\';
var num = 4546;
while(num>0){
 x = x + (num%10);
 num = parseInt(num/10);
}
console.log(x);
    ,           反转正/负整数
function reverseInt(n) {
 return parseInt(n.toString().split(\'\').reverse().join()) * Math.sign(n)
}
  如果n为-5,则Math.sign(n)==>将返回-1      如果n为5,则Math.sign(n)==>将返回1     ,        这是JavaScript中可处理整数或字符串的可逆数组函数:
function reverse(array)
{
    var left = null;
    var right = null;
    var length = array.length;
    for (left = 0,right = length - 1; left < right; left += 1,right -= 1)
    {
        var temporary = array[left];
        array[left] = array[right];
        array[right] = temporary;
    }
    return array;
}

function toDigitsArrayFromInteger(integer,isReverse)
{
    var digits = [];

    if (integer > 0)
    {
        var floor = window.Math.floor;
        while (integer > 0)
        {
            digits.push(floor(integer % 10));
            integer = floor(integer / 10);
        }

        // Array is populated in reverse order. Un-reverse it to make it normal.
        if (!isReverse)
        {
            digits = reverse(digits);
        }
    }
    else if (integer < 0)
    {
        digits = toDigitsArrayFromInteger(-integer,isReverse);
    }
    else if (integer === 0)
    {
        digits.push(0);
    }

    return digits;
}

function toDigitsArrayFromString(string,isReverse)
{
    var digits = [];

    string += \"\"; // Coerce to string.

    var i = null;
    var length = string.length;
    for (i = 0; i < length; i += 1)
    {
        var integer = parseInt(string.charAt(i),10);
        if (isFinite(integer))
        {
            digits.push(integer);
        }
    }

    if (isReverse)
    {
        digits = reverse(digits);
    }

    return digits;
}
一旦将数字作为数组,您就可以轻松地反转数组,以使数字从左或从右开始。 字符串函数用途更广泛,因为它可以找到字符串中的任何数字,而整数函数则限于整数。 基准测试: http://jsperf.com/todigitsarray 这两个函数之间的基准测试表明,在Firefox 10和Chrome 12中,字符串函数比整数函数快30%到60%。在Opera 12中,整数函数稍微快了大约10%。     ,        
//reverse integer
const revInt = (num)=>{
  //turn into string
  if(Math.sign(num)===1)
    return parseInt(num.toString().split(\'\').reverse().join(\'\'));
  else return -1*parseInt(num.toString().split(\'\').reverse().join(\'\'));
}

console.log(revInt(-501));
    ,        
<html>
<script>

function reverseInt(n){

        var r=0;
    while(n!=0){
        r*=10;
        r+=n%10;
        n=Math.floor(n/10);
}
return r;
}


</script>
</html>
    ,        尝试这个
var n = 352;
function loop(n,r){
    if(!n) return r;
    r = (r ? r * 10 : 0) + n % 10;
    return loop(Math.floor( n / 10),r);
}
console.log(loop(n));
    ,        好的,如何在单行函数中使用和链接这些JavaScript中的流行技巧,如下所示...
const reverseNum = num => +(\"\" + ~~num.split(\"\").reverse().join(\"\"));
并这样称呼它:
reverseNum(123); //321
reverseNum(423.09); //324
reverseNum(23305.1); //50332
reverseNum(89112); //21198
reverseNum(568434.2389); //434865
    ,        它以
Number
x作为参数并返回相反的数字。
 const reverse = (x) => Number(x.toString().split(\"\").reverse().join(\"\"));
    ,        内存使用量:35.3 MB,不到leetcode.com上反向整数的JavaScript在线提交的100.00%。 运行时间:80毫秒,快于反向整数的JavaScript在线提交的61.48%。 时间复杂度为
O(log10(n))
function reverse(x) {
  let rev = 0;
  const isNegative = Math.sign(x) === -1;
  const isOverflow = n => n > 2**31;
  x = Math.abs(x);

  while (x) {
    let pop = x % 10;
    x = Math.floor(x / 10);
    rev = rev * 10 + pop;

    if (isOverflow(rev)) {
      return 0;
    } 
  }

  return isNegative ? rev * -1 : rev;
}
    ,        下面的代码块应该可以解决问题
<script type = \"text/javascript\">

var input;

input=window.prompt (\"Please enter a number to be reversed.\");
x=input.length;

while(x > 0)
{

x=x-1;
document.write(input[x]);

}

</script>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res