# Setting default units for output

Is it possible to set a default set of units for output?

I've just discovered the joys of units and Quantity. Ideally, I'd like to be able to tell Mathematica to always convert to SI units. I'm aware I could UnitConvert every entry, but that's not what I'm after: I want to set and forget. Is this possible, and if so, how?

Digging around the docs is making me think the answer is "No, it isn't", which is disappointing.

Edit:

This is not the same as setting the units to default in metric. My default is metric. However, Mathematica will keep things in pre-defined quantities if I use them. As an arbitrary example, consider below:

$Unitsystem mass = 10 Quantity["SolarMass"] inertia = 2/5 mass  The output of this is Metric Quantity[10, "SolarMass"] Quantity[400, ("Meters")^2 "SolarMass"]  i.e. it does not convert from solar mass units, even though my unit system is metric. I could explicitly tell it to convert every line, but that's what I'm trying to avoid. • You can always use $Post = Replace[q_Quantity:>UnitConvert[q]] Jan 17 '18 at 5:52
• .. or $Post =If[Head[#] === Quantity, UnitConvert[#], #]& or $PrePrint = If[Head[#] === Quantity, UnitConvert[#], #]&.
– kglr
Jan 17 '18 at 5:57
• Also possible duplicate: mathematica.stackexchange.com/q/44639/12 Jan 17 '18 at 9:38
• You could add the line \$UnitSystem = "Metric" to your init.m file. Jan 17 '18 at 12:25
• I am voting to reopen this post so that @b3m2a1 can convert his/her comment into an answer. Moreover, OP made clear that this is not a precise duplicate. Jan 18 '18 at 7:59