小编Fil*_*unc的帖子

将C#与Objective-C混合

我想使用更大的C#代码作为Objective-C(Cocoa)应用程序的库.

我发现了包装Cocoa代码的MonoMac项目,但我宁愿用Objective-C编写标准的Cocoa应用程序,它可以调用包装好的C#代码(换句话说).

在Windows上,我习惯于制作包含.NET代码的C++/CLI项目,并为基于C/C++的应用程序导出普通的旧C接口.

有一些简单的方法来实现这一目标吗?

c# mono cocoa objective-c

29
推荐指数
1
解决办法
7210
查看次数

ToString中的.NET舍入错误("f2")

你好,我在C#中有这个代码:

float n = 2.99499989f;
MessageBox.Show("n = " + n.ToString("f2", CultureInfo.InvariantCulture));
Run Code Online (Sandbox Code Playgroud)

而这个C++代码:

float n = 2.99499989f;
printf("n = %.2f", n);
Run Code Online (Sandbox Code Playgroud)

一个输出3.00.
第二个输出2.99.

我不知道为什么会这样.

更新:

我也尝试了Objective-C NSLog,输出为2.99.

我需要快速修复它,所以我使用以下方法:

float n = 2.99499989f;
float round = (float)Math.Round(n, 2);
MessageBox.Show("round = " + round.ToString(CultureInfo.InvariantCulture));
Run Code Online (Sandbox Code Playgroud)

此代码显示2.99,但以双精度计算舍入.我找不到Math.RoundF.

c# c++ rounding-error

6
推荐指数
2
解决办法
1万
查看次数

使用DirectWrite进行部分连字选择

使用来自IDWriteTextLayout的HitTestTextPosition样式API 我没有设法在"ti","ffi"或其他带有Calibri等字体的连字中正确处理文本位置.它总是在结束之后或之前返回位置,如t | i或f | f | i.

使用DirectWrite API在连线内部进行插入符号移动的推荐方法是什么?

opentype directwrite ligature

5
推荐指数
1
解决办法
213
查看次数

标签 统计

c# ×2

c++ ×1

cocoa ×1

directwrite ×1

ligature ×1

mono ×1

objective-c ×1

opentype ×1

rounding-error ×1