73 lines
2.7 KiB
C#
73 lines
2.7 KiB
C#
namespace YLErp.Helpers
|
|
{
|
|
public static class StringHelper
|
|
{
|
|
public static bool IsNullOrWhiteSpace(this string str)
|
|
{
|
|
return string.IsNullOrWhiteSpace(str);
|
|
}
|
|
|
|
public static string GetFixedStr(string desc1, string desc2, int total1 = 40, int total2 = 20)
|
|
{
|
|
int remainLength = total1 - System.Text.Encoding.Default.GetBytes(desc1).Length;
|
|
int remainLength2 = total2 - System.Text.Encoding.Default.GetBytes(desc2).Length;
|
|
return desc1 + "".PadRight(remainLength, " "[0]) + desc2 + "".PadRight(remainLength2, " "[0]);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据targetStr长度设置
|
|
/// </summary>
|
|
/// <param name="desc1"></param>
|
|
/// <returns></returns>
|
|
public static string GetFixedStr2(string desc1, string targetStr)
|
|
{
|
|
int targetLength = System.Text.Encoding.Default.GetBytes(targetStr).Length;
|
|
int useLength = System.Text.Encoding.Default.GetBytes((desc1 + "")).Length;
|
|
int remainLength = targetLength - useLength;
|
|
if (remainLength < 0)
|
|
{
|
|
remainLength = 0;
|
|
}
|
|
|
|
return desc1 + "".PadRight(remainLength, " "[0]);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 以精确模式转换浮点数为特定小数精度的字符串,使用四舍五入模式,
|
|
/// 但111111111111.2249999999999999需要转为111111111111.22而不是111111111111.23
|
|
/// </summary>
|
|
public static string ToFixedPrecise(double? value, int decimalSize = 2)
|
|
{
|
|
if (value == null)
|
|
{
|
|
return string.Empty;
|
|
}
|
|
if (decimalSize < 1)
|
|
{
|
|
return Math.Floor(value.Value).ToString("0");
|
|
}
|
|
var decExp = Math.Pow(10, decimalSize + 1);
|
|
return (Math.Floor(value.Value * decExp) / decExp).ToString("f" + decimalSize);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 将逗号分隔的字符串转换为字符串数组,并去除空白项与重复项。
|
|
/// </summary>
|
|
/// <param name="commaValues">逗号分隔的字符串。</param>
|
|
/// <returns>去除空白项与重复项后的字符串数组。</returns>
|
|
public static string[] ConvertCommaValuesToStringArray(string commaValues)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(commaValues))
|
|
{
|
|
return new string[0];
|
|
}
|
|
|
|
return commaValues.Split(',')
|
|
.Select(o => o?.Trim())
|
|
.Where(o => !string.IsNullOrWhiteSpace(o))
|
|
.Distinct()
|
|
.ToArray();
|
|
}
|
|
}
|
|
}
|