检查整数变量的长度

本文关键字:变量 整数 检查 | 更新日期: 2023-09-27 18:36:03

有没有办法检查整数变量的长度,如果要长,只需修剪它。我在数据库中有一个接受 3 个字符的字段,lenth 是 3。

那么是否有可能像使用字符串变量那样做

例:

cust_ref = cust_ref.Length > 20 ? cust_ref.Substring(0, 19) : cust_ref; 

谢谢!

检查整数变量的长度

最简单的答案是:

//The length would be 3 chars.    
public int myint = 111;
myint.ToString().Length;

以下内容对我来说是一种享受!

public static int IntLength(int i)
{
  if (i < 0)
    throw new ArgumentOutOfRangeException();
  if (i == 0)
    return 1;
  return (int)Math.Floor(Math.Log10(i)) + 1;
}

原始来源:http://www.java2s.com/Code/CSharp/Data-Types/Getthedigitlengthofanintvalue.htm

您不必将其转换为字符串以使其更短,这可以通过数字方式完成:

if (num > 999) {
  num %= 1000;
}
这将从

左侧剪切数字,如果您想从右侧切断它们:

while (num > 999) {
  num /= 10;
}

如果该值可以为负数,则还要检查:

if (num < -99) {
  num = -(-num % 100);
}

或:

while (num < -99) {
  num = -(-num / 10);
}
cust_ref = cust_ref.ToString().Length > 20 ? Convert.ToInt32(cust_ref.ToString().Substring(0, 19)) : cust_ref; 

或简单地使用

cust_ref = Convert.ToInt32(Convert.ToString(cust_ref).Substring(0, 19));

像这样使用

 cust_ref=   cust_ref.Tostring().Length > 20 ? Convert.ToInt32(cust_ref.ToString().Substring(0, 19)) : cust_ref; 

不太清楚你在要求什么,但就我而言,你要求:

int a = 1234567890; 

出于某种原因,您想缩短它,例如

 int b = MakeShorter(a); 
    //b == 1234 (say)

如果是这样,最简单的解决方案可能是,将其转换为字符串,制作您已经实现的内容并将其重新转换回 int。

如果这不是您要要求的,请澄清。

转换为字符串是实现它的丑陋方式。

它需要一个纯粹的数学解决方案

int CutTheNumber(int number, int maxLen)
{
  var maxSize = (int)Math.Pow(10, maxlen);
  if(maxSize <= Math.Abs(number))
  {
    number %= maxSize;
  }
  return number;
}

检查长度

     length = cust_ref.ToString().Length;

删除多余的位

       if (length > need)
       {
           cust_ref =Convert.ToInt32( cust_ref.ToString().Remove(length -(length- need)));
       }

为此,您必须做一些简单的事情。喜欢

cust_ref = Convert.ToInt32(Convert.ToString(cust_ref).Substring(0, 19));

或者您可以手动将其存储在任何变量中,并且

您可以尝试此代码。 使用 if else 语句检查验证 ..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace avaragescore
{
    class Program
    {
        static void Main(string[] args)
        {
            float quiz;
            float midterm;
            float final;
            float avrg=0;
        Start:
            Console.WriteLine("Please enter the Quize Score here");
            quiz = float.Parse(Console.ReadLine());
            if(quiz > 100)
            {
                Console.WriteLine("You have entered wrong score please re-enter");
                goto Start;
            }
            Start1:
            Console.WriteLine("Please enter the Midterm Score here");
            midterm = float.Parse(Console.ReadLine());
            if(midterm > 100)
            {
                Console.WriteLine("You have entered wrong score please re- enter");
                goto Start1;
            }
            Start3:
            Console.WriteLine("Please enter the Final Score here");
            final = float.Parse(Console.ReadLine());
            if(final > 100)
            {
                Console.WriteLine("You have entered wrong Score Please re-enter");
                goto Start3;
            }
            avrg = (quiz + midterm + final) / 3;
            if(avrg >= 90)
            {
                Console.WriteLine("Your Score is {0} , You got A grade",avrg);
            }
            else if (avrg >= 70 && avrg < 90)
            {
                Console.WriteLine("Your Score is {0} , You got B grade", avrg);
            }
            else if (avrg >= 50 && avrg < 70)
            {
                Console.WriteLine("Your Score is {0} , You got C grade", avrg);
            }
            else if (avrg < 50)
            {
                Console.WriteLine("Yor Score is {0} , You are fail", avrg);
            }
            else
            {
                Console.WriteLine("You enter invalid Score");
            }
            Console.ReadLine();
        }
    }
}