1

各位技术精英大家好,我是C#菜鸟。这是我第一次在stackoverflow上提问,我是中国人,我的英语很差。

我正在尝试使用 .net 中的 SerialPort 类使我的 C# 应用程序通过 rs232 与数字秤进行通信。

我想插入一个点“。” 在一个字符串中,我收到了字符串use:(buf[3].ToString("X2"),字符串是00~99之间的一个数字,我想在数字中插入一个点。怎么办?

非常感谢您的帮助。

4

5 回答 5

2

如果要将字符串(在本例中为“.”)插入另一个字符串,可以使用以下String.Insert方法:

"99".Insert(1, ".") // results in "9.9"

在你的情况下可能:

string result = buf[3].ToString("X2").Insert(1, ".");

如果您只想附加一个点,则可以使用+运算符:

buf[3].ToString("X2") + "."; 
于 2012-08-27T12:19:06.147 回答
2

你也可以使用Regex

string ss = buf[3].ToString("X2");
Regex.Replace("(\d)(\d)",ss,"$1.$2");
于 2012-08-27T12:26:34.000 回答
1

如果字符串中始终包含 2 个字符(例如:07 / 10 /26),您可以通过Substring函数获取第一个和第二个字符,并在其间使用点进行字符串连接。

string ss = buf[3].ToString("X2");  
string result= ss.Substring(0, 1) + "." + ss.Substring(1, 1);
于 2012-08-27T12:19:43.200 回答
1
String sringToInstert = buf[3].ToString("X2");
sringToInstert.Insert(0,".");

其中 0 是起始索引(您要放置点的位置)。

和 ”。” 是你想放的。

对于起始索引 0,结果将是 =.99

对于起始索引 1,结果将是 =9.9

于 2012-08-27T12:19:49.827 回答
-3

字符串 newStr = oldStr[0]+"."+oldStr[1];

于 2012-08-27T12:21:29.230 回答