检查整数变量的长度
本文关键字:变量 整数 检查 | 更新日期: 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();
}
}
}