有没有办法检查整数变量的长度,如果是长只是修剪它。 我在数据库中有一个接受3个字符的字段,lenth是3。
因此可以像使用字符串变量
那样完成示例:
cust_ref = cust_ref.Length > 20 ? cust_ref.Substring(0, 19) : cust_ref;
谢谢!
答案 0 :(得分:20)
最简单的答案是:
//The length would be 3 chars.
public int myint = 111;
myint.ToString().Length;
答案 1 :(得分:10)
以下对我有用了!
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
答案 2 :(得分:3)
您不必将其转换为字符串以缩短字符串,这可以通过数字方式完成:
if (num > 999) {
num %= 1000;
}
如果你想从右边剪掉它们,这将从左边剪下数字:
while (num > 999) {
num /= 10;
}
如果值为负数,也请检查:
if (num < -99) {
num = -(-num % 100);
}
或:
while (num < -99) {
num = -(-num / 10);
}
答案 3 :(得分:1)
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));
答案 4 :(得分:1)
像这样使用
cust_ref= cust_ref.Tostring().Length > 20 ? Convert.ToInt32(cust_ref.ToString().Substring(0, 19)) : cust_ref;
答案 5 :(得分:1)
不是很清楚你要求的是什么,但尽可能多的我理解你要求:
int a = 1234567890;
由于某种原因你想缩短它,比如
int b = MakeShorter(a);
//b == 1234 (say)
如果是这样,最简单的解决方案可能是,将其转换为字符串,制作已经实现的内容并将其重新转换回int。
如果这不是您所要求的,请澄清。
答案 6 :(得分:1)
转换为字符串是实现它的难看方式。
这需要一个纯粹的数学解决方案
int CutTheNumber(int number, int maxLen)
{
var maxSize = (int)Math.Pow(10, maxlen);
if(maxSize <= Math.Abs(number))
{
number %= maxSize;
}
return number;
}
答案 7 :(得分:0)
检查长度
length = cust_ref.ToString().Length;
删除额外位
if (length > need)
{
cust_ref =Convert.ToInt32( cust_ref.ToString().Remove(length -(length- need)));
}
答案 8 :(得分:0)
cust_ref = Convert.ToInt32(Convert.ToString(cust_ref).Substring(0, 19));
或者您可以手动将其存储在任何变量和
中答案 9 :(得分:0)
您可以尝试使用此代码。使用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();
}
}
}