[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

*Subject*: **Use case; multi-radix & roman numeral formatting**

*From*:**Bryce L Nordgren <bnordgren@fs.fed.us>***To*: dwheeler@dwheeler.com,office-comment@lists.oasis-open.org*Date*: Wed, 16 Aug 2006 19:35:30 -0600

> > I think you just need to add a "radix" numeric field to the "general" > > number format. Everything else is the same. We add no data types, as > > "number" is used for everything (hex, roman, oct, base 20). > > Wow, I'm lost. Can you explain that? It's probably simple, but > I don't get it. Most of the problem is probably that I have a rather sketchy notion of OpenDocument, and hence I don't express things in terms of OpenDocument concepts very well. This is long. Keep the "implications" in mind as you read. Also, this is not a near-term solution, but must wait until OpenDocument 1.1 (or whatever's next.) Implications: + All table cells, all fields, may format numbers as Octal, Hex, Binary or Roman numeral in addition to percentage, currency, scientific, etc. + No special treatment is required once a numeric value is obtained: all numbers are interchangeable! + "Numeric format conversion" is a service provided by the system's number formatter, not by wierd spreadsheet functions. :) + Enter the number you want, expressed in the radix you want. So here's the use case: I type the number "15" in cell A1. Now I want to view this number as hexadecimal. I envision a solution where, in OpenOffice Calc, I go to Format -> Cells, click on the "Numbers" tab, select "Number" from the "Category" list, and under "options" there appears a "Radix" box with up/down arrows. The default value in the Radix box is "10" (i.e. "decimal"!), so to make the number appear as hexidecimal, I click on the "up" arrow until the box reads 16. Clicking OK makes A1 display "F" Octal would involve making the Radix box read "8". This would cause A1 to display 17. Judicious use of the format code box could make this read "017" to avoid confusing the casual reader. Binary would involve making the Radix box read "2". A1 now displays 1111. The format code box could cause this to be displayed as 1111b to avoid confusion. Now in A2, I type the formula "=A1+3" and get 18. (apologies if syntax is not openformula compliant.) NOTE: the plus operator just CORRECTLY added a binary and decimal number with no special fanfare and with no spreadsheet functions. This is an extension of how you can now add numbers formatted as currency with numbers formatted as percent, then choose how the result should be formatted. Now fractional values. I want to change the value of A1 to 0.5. A1 is currently formatted as radix 2 (binary). I type 0.1 and hit return. A1 recalculates to 3.5. Note that I have to enter numbers in the current format. Or maybe I always enter them in decimal--that could be left up to the application. Did I really change the value to 0.5? Change the Radix box back to 10 and click OK. Whew. All is well. What is 0.5 in hexadecimal? Good question! Change the radix of cell A1 back to 16 and viola: 0.8 appears. Now, save the file out to junk.ods, I _believe_ the cell A1 should have <office:value-type>float</office:value-type> <office:value>0.5</office:value> <text:p>0.8</text:p> as well as TBD formatting information. Note that in the OpenDocument XML file, the content of <office:value/> should always be base 10. I'm not sure of the best way to make the cell display the number as a Roman numeral. Add a Roman Locale? Add a "Roman numeral" format category right beside currency, percentage and number? Regardless, so long as the cell content is a positive integer, I should be able to somehow specify Roman Numeral formatting in my cell so that the original "15" value will be displayed as "XV", and A2 recalculates to 18. Is this clearer, or was I just more longwinded? Bryce

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]