C#将字符串中的小数点换为_
时间: 2024-03-13 08:45:25 浏览: 68
您可以使用字符串的 `Replace` 方法将小数点替换为下划线,例如:
```csharp
string str = "3.14";
string result = str.Replace(".", "_");
Console.WriteLine(result); // 输出 "3_14"
```
请注意,`Replace` 方法返回一个新的字符串,原始字符串并不会被修改。
相关问题
c# 将有小数点的字符串转为没有小数点的字符串
在C#中,将有小数点的字符串转换为没有小数点的字符串可以通过多种方法实现。以下是几种常见的方法:
1. 使用 `decimal.Round` 方法:
```csharp
string originalString = "123.456";
decimal decimalValue = decimal.Parse(originalString);
int integerValue = (int)decimal.Round(decimalValue);
string resultString = integerValue.ToString();
Console.WriteLine(resultString); // 输出: 123
```
2. 使用 `Math.Round` 方法:
```csharp
string originalString = "123.456";
double doubleValue = double.Parse(originalString);
int integerValue = (int)Math.Round(doubleValue);
string resultString = integerValue.ToString();
Console.WriteLine(resultString); // 输出: 123
```
3. 使用 `String.Replace` 方法(仅去除小数点,不进行四舍五入):
```csharp
string originalString = "123.456";
string resultString = originalString.Replace(".", "");
Console.WriteLine(resultString); // 输出: 123456
```
4. 使用 `String.Split` 方法(仅去除小数点,不进行四舍五入):
```csharp
string originalString = "123.456";
string[] parts = originalString.Split('.');
string resultString = parts[0] + parts[1];
Console.WriteLine(resultString); // 输出: 123456
```
选择哪种方法取决于你的具体需求。如果你需要四舍五入,可以使用 `decimal.Round` 或 `Math.Round` 方法。如果你只是简单地去除小数点,可以使用 `String.Replace` 或 `String.Split` 方法。
用C#写一个正则替换,将字符串中 前后都为数字的小数点替换为“-”
可以使用 C# 中的正则表达式和 Replace 方法来实现这个替换操作。以下是示例代码:
```csharp
using System;
using System.Text.RegularExpressions;
class Program {
static void Main(string[] args) {
string input = "1.23 abc 4.56 789.0";
string pattern = @"(?<=\d)\.(?=\d)";
string replacement = "-";
string output = Regex.Replace(input, pattern, replacement);
Console.WriteLine(output);
}
}
```
输出:
```
1-23 abc 4-56 789.0
```
上面的代码中,使用了正则表达式 `(?<=\d)\.(?=\d)` 来匹配前后都是数字的小数点。其中 `(?<=\d)` 表示前面必须是数字,`(?=\d)` 表示后面必须是数字。然后使用 Replace 方法将匹配到的小数点替换为“-”。
阅读全文