【问题标题】:Truncate all digits except first截断除第一位以外的所有数字
【发布时间】:2013-05-02 07:10:44
【问题描述】:

我有一个返回的函数:3333333333333333/5000000000000000 这是没有意义的。如何截断除第一个数字以外的所有数字,使其变为 3/5

【问题讨论】:

  • 两个分数不相等。你为什么不减少分数(这对你的例子不起作用,因为它是不可约的)?
  • 这与分数无关,我将设备纵横比计算为 3/5 是完美的:)
  • 您是否缺少小数点?因为否则3333333333333333/5000000000000000 远非完美 XD
  • @Nimbuz:你能发布那个函数吗?这似乎是一个 hack。

标签: javascript math truncate


【解决方案1】:

我不明白你为什么需要这个,但无论如何

var x = 3333333333333333;
var y = 5000000000000000;
var result = (Number)(String(x).charAt(0)) / (Number)(String(y).charAt(0));

【讨论】:

    【解决方案2】:
    var frac = '3333333333333333/5000000000000000';
    var parts = frac.split('/');
    var simpler = parts[0][0]+'/'+parts[1][0];
    

    【讨论】:

      【解决方案3】:

      你也可以试试这个方法……

      var x = 3333333333333333;
      var y = 5000000000000000;
      var result = (Number)(String(x).substring(0,1)) / (Number)(String(y).subsring(0,1));
      

      【讨论】:

        【解决方案4】:

        另一种方法..

        function truncate(v) {
            return v.substring(v.indexOf('/') - 1, v.indexOf('/') + 2);
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多