4 for bin 3 for oct

This commit is contained in:
azazaz123010 2022-01-30 17:18:22 -05:00
commit f25b6217a6

View file

@ -137,6 +137,10 @@ StandardCalculatorViewModel::StandardCalculatorViewModel()
String ^ StandardCalculatorViewModel::LocalizeDisplayValue(_In_ wstring const& displayValue)
{
wstring result(displayValue);
if (CurrentRadixType == NumberBase::BinBase || CurrentRadixType == NumberBase::OctBase)
{
result = AddPadding(result);
}
LocalizationSettings::GetInstance()->LocalizeDisplayValue(&result);
return ref new Platform::String(result.c_str());
}
@ -1545,6 +1549,24 @@ wstring StandardCalculatorViewModel::AddPadding(wstring binaryString)
{
return binaryString;
}
if (CurrentRadixType == NumberBase::BinBase)
{
size_t pad = 4 - LengthWithoutPadding(binaryString) % 4;
if (pad == 4)
{
pad = 0;
}
return wstring(pad, L'0') + binaryString;
}
else if (CurrentRadixType == NumberBase::OctBase)
{
size_t pad = 3 - LengthWithoutPadding(binaryString) % 3;
if (pad == 3)
{
pad = 0;
}
return wstring(pad, L'0') + binaryString;
}
size_t pad = 4 - LengthWithoutPadding(binaryString) % 4;
if (pad == 4)
{