[英]How to remove last character of a number in C#
這是我的字符串“ codes 02-UFL 1500”
String SelCurItem;
String GradeGSM;
Int32 CalcLengthSelCurItem;
Int32 CalcLengthGradeGSM;
CalcLengthSelCurItem = SelCurItem.Length - 11; //this part gives me the first 8 characters back
GradeGSM = SelCurItem.Substring(11, CalcLengthSelCurItem); // gives me "UFL 1500" BACK
CalcLengthGradeGSM = GradeGSM.Length - GradeGSM.IndexOf(" ");
Grade = GradeGSM.Substring(0, GradeGSM.IndexOf(" ")); // GIVES ME "UFL" back
GSM = Convert.ToInt32(GradeGSM.Substring(GradeGSM.IndexOf(" "), CalcLengthGradeGSM)); // GIVES ME "1500"
現在,我想添加另一個名為GSM2的字段,並且我希望輸出將“ 150”還給我,它必須刪除最后一個字符。 我該如何實現?
我沒有用C#編寫代碼,但是您可以除以10。而且由於它是int類型,所以沒有小數。
嘗試這個:
更新
String GSM2 = GSM.ToString().Substring(0,GSM.ToString().Length-1);
假設您獲得GSM2投擲GSM,則可以使用GSM並丟棄最后一個角色
您可以使用以下任一方法:
Int32 GSM2 = GSM1/10;
要么
Int32 GSM2 = Int32.Parse(GSM1.ToString().Remove(GSM1.ToString().Length -1));
您還可以使用正則表達式來分割整個字符串(並獲得沒有最后一位數字的最后一個數字):
var regex = new Regex(@"(?<FirstPart>.{8}) - (?<SecondPart>.{3})\s(?<Number>\d*)(?<LastDigit>\d)");
var match = regex.Match("codes 02 - UFL 1500");
Console.WriteLine(match.Groups["FirstPart"].Value);
Console.WriteLine(match.Groups["SecondPart"].Value);
Console.WriteLine(match.Groups["Number"].Value);
Console.WriteLine(match.Groups["LastDigit"].Value);
// Output:
// codes 02
// UFL
// 150
// 0
您可以使用Substring
using System;
public class Example
{
public static void Main()
{
String s = "aaaaabbbcccccccdd";
Char charRange = 'b';
int startIndex = s.IndexOf(charRange);
int endIndex = s.LastIndexOf(charRange);
int length = endIndex - startIndex + 1;
Console.WriteLine("{0}.Substring({1}, {2}) = {3}",
s, startIndex, length,
s.Substring(startIndex, length));
}
}
// The example displays the following output:
// aaaaabbbcccccccdd.Substring(5, 3) = bbb
https://msdn.microsoft.com/de-de/library/aka44szs(v=vs.110).aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.