diff --git a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/ConvertModel.cs b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/ConvertModel.cs index e82ee9ae08c..d1020923d75 100644 --- a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/ConvertModel.cs +++ b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/ConvertModel.cs @@ -12,6 +12,8 @@ public class ConvertModel public string ToUnit { get; set; } + public string Standard { get; set; } + public ConvertModel() { } diff --git a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/UnitHandler.cs b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/UnitHandler.cs index 5038c13a3ea..cfce3c6c797 100644 --- a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/UnitHandler.cs +++ b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/UnitHandler.cs @@ -86,11 +86,26 @@ public static double ConvertInput(ConvertModel convertModel, QuantityInfo quanti if (fromUnit != null && toUnit != null) { - return UnitsNet.UnitConverter.Convert(convertModel.Value, fromUnit, toUnit); - } - return double.NaN; + { + // Check the standard and adjust the toUnit accordingly + if (convertModel.Standard == "IEC") + { + // Convert toUnit to IEC equivalent if necessary + toUnit = ConvertToIECUnit(toUnit); + } + else if (convertModel.Standard == "ITU") + { + // Convert toUnit to ITU equivalent if necessary + toUnit = ConvertToITUUnit(toUnit); + } + + return UnitsNet.UnitConverter.Convert(convertModel.Value, fromUnit, toUnit); + } + + return double.NaN; } + /// /// Given ConvertModel returns collection of possible results.