precision can not be given in the string, this is always just a guess. If I give 2000 BC to 1 year all I enter is 2000BC, the precision detected in the string is to 1ka but then the precision of 1a would be passed in through the opts and ultimately in wikibase through the inputautoexpander (thingy)