This way of parsing will fail for decimal values. I believe searching for digits and `.` will work.

    [Fact]
	public void ParseDecimalMB()
	{
	    string val = "100.5MB";
	    var expected = ByteSize.FromMegaBytes(100.5);

	    var result = ByteSize.Parse(val);

	    Assert.Equal(expected, result);
	}