string字符串格式
字符串比较
// 忽略大小写,使用当前区域性
String.Compare(str1, str2, true, null);
string.Compare(i.BinCode, "Good", true, System.Globalization.CultureInfo.CurrentCulture)
显示一位小数
double val = 1.034;
var v1 = val.ToString("#.#"); // 1 四舍五入
var v2 = string.Format("{0:f1}", val); // 1.0 等价于 $"{val:f1}"
截断,保留2位
double val = 1.036;
var v1 = Math.Floor(val * 100) / 100; // 1.03 四舍五入
前面不足位数补0
i.ToString().PadLeft(12,'0');或
$"{i:D12}";
后面不足位数补0
i.ToString().PadRight(12,'0');
左对齐
string.Format("the value is {0,-12:f3}",123.45);
右对齐
string.Format("the value is {0,12:f3}",123.45);
其中:12表示占位符,3表示浮点精度
特殊操作
剔除文件名字符串中不合法的字符
public static string RemoveInvalidFileNameChars(string src)
{
StringBuilder rslt = new StringBuilder(src);
foreach (var c in Path.GetInvalidFileNameChars())
{
rslt.Replace(c.ToString(), string.Empty);
}
return rslt.ToString();
}
剔除路径字符串中不合法的字符
public static string RemoveInvalidPathChars(string src)
{
StringBuilder rslt = new StringBuilder(src);
foreach (var c in Path.GetInvalidPathChars())
{
rslt.Replace(c.ToString(), string.Empty);
}
return rslt.ToString();
}
DateTime字符串形式
yyyyMMddHHmmss
/// <summary>
/// DateTime字符串形式(yyyyMMddHHmmss)
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string Date2yyyyMMddHHmmss(DateTime dt)
{
return dt.ToString("yyyyMMddHHmmss");
}
HHmmss
/// <summary>
/// DateTime字符串形式(HHmmss)
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string Date2HHmmss(DateTime dt)
{
return dt.ToString("HHmmss");
}
日期格式的字符串
显示:yyyy-MM-dd
/// <summary>
/// 日期格式的字符串显示成:yyyy-MM-dd
/// </summary>
/// <param name="dateTimeStr">日期格式的字符串</param>
/// <param name="dateTimeFormatStr">对应的字符串形式,默认yyyyMMddHHmmss</param>
/// <returns></returns>
public static string Str2yyyyMMdd(string dateTimeStr, string dateTimeFormatStr = "yyyyMMddHHmmss")
{
if (DateTime.TryParseExact(dateTimeStr, dateTimeFormatStr, System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out DateTime dt))
{
return dt.ToString("yyyy-MM-dd");
}
return string.Empty;
}
显示:HH:mm:ss
/// <summary>
/// 日期格式的字符串显示成:HH:mm:ss
/// </summary>
/// <param name="dateTimeStr">日期格式的字符串</param>
/// <param name="dateTimeFormatStr">对应的字符串形式,默认HHmmss</param>
/// <returns></returns>
public static string Str2HHmmss(string dateTimeStr, string dateTimeFormatStr = "HHmmss")
{
if (DateTime.TryParseExact(dateTimeStr, dateTimeFormatStr, System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out DateTime dt))
{
return dt.ToString("HH:mm:ss");
}
return string.Empty;
}
字符串转成标准日期
/// <summary>
/// 日期格式的字符串转成标准日期
/// </summary>
/// <param name="dateTimeStr">日期格式的字符串</param>
/// <param name="dateTimeFormatStr">对应的字符串形式,默认yyyyMMddHHmmss</param>
/// <returns></returns>
public static DateTime Str2DateTime(string dateTimeStr, string dateTimeFormatStr = "yyyyMMddHHmmss")
{
if (DateTime.TryParseExact(dateTimeStr, dateTimeFormatStr, System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out DateTime dt))
{
return dt;
}
return DateTime.MinValue;
}