OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-comment message

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


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




> > 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]